В данной статье расскажу как реализовать функционал, который бы позволял пользователям сайта сообщать контент-менеджерам найденные о найденной на сайте ошибке. Ошибка будет высылаться почтовым уведомлением. Интерфейсные окна будут отрисованы с помощью новой JS-библиотеки продукта.[spoiler]
Итак, пользователь находит на сайте ошибку, выделяет текст, нажимает Ctrl+Enter и получает форму:
Вся логика заключена в компоненте feedback.error, который можете скачать здесь.
Т.к. сообщение об ошибке будет отправлено на почту, то потребуется создать новый почтовый тип:
и шаблон к нему:
Всё, после этого механизм должен заработать.
Теперь подробнее (так сказать для разработчиков), что находится в скрипте script.js:
function SendError(event, formElem)
Объявление функции-обработчика, которую мы повесили на <body>
К сожалению, мы живём в стране (вы в своей, я в своей - но они очень похожи в этом), где главенствует принцип "не пнёшь - не полетим". Очень многие вопросы приходится решать через нагнетание, через скандал, через ругань. Не было бы моего сообщения — не было бы и вашего решения. Ограничились бы "хрен с ним, с этим браузером", и всё.
К сожалению, это очень грустно.
Так и не смог пронаблюдать данный эффкет, за исключением когда включена отладка javascript и вылезает красный fatal error с последующей отладкой
У меня своя "необычная" сборка с приблудами, поэтому для меня она самая наглядная.
Поэтому отказываться просто потому, что надо слегка больше времени потратить на отладку JS — это не дело. 7% аудитории стоят того, чтобы допилить.
Лично я сторонник более радикальных мер, особенно вглядывая в статистику можно наблюдать потери позиций IE6 от 0.4 до 1% в месяц и можно предположить, что браузер протянет еще 1, ну максимум 2 года.
Удачное решение такого плана сделано на kp.ru (при том, что сам сайт довольно-таки безобразный).
Окошко оформлено симпатично и важный нюанс: кроме выделенного фрагмента дан и текст вокруг. Это удобно и для посетителя, и для тех, кто получит сообщение об ошибке.
Ещё одно пожелание: ввести ограничение на размер выделяемого текста. Если лимит превышен, вместо всплываюшего окна давать alert "Выделен слишком длинный текст!"
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».