На нашем сайте - сайте, посвященном ошибкам, очень желательно было установить систему устранения этих самых ошибок. В Рунете для этих целей уже традиционно используется система Orphus.
Одно время скрипт этой системы успешно работал на сайте, но в один прекрасный момент вдруг перестал, и все попытки реанимировать его оказались тщетными.
Пришлось разрабатывать свой скрипт. Как оказалось, все не так-то просто. Помогли уроки JavaScript, ну и, конечно же, Google с Яндексом. В итоге, при сложении нескольких найденных блоков скрипта и почерпнутых из учебника знаний получился вполне рабочий модуль для проверки ошибок на сайте. Для его работы необходима поддержка PHP на хостинге.
Последняя версия скрипта 4.1 основана на плагине typo к CMS Drupal. Автор плагина Роман Архаров. В этой версии появилась функция отображения окружающего ошибку текста, сама же ошибка выделяется красным.
Модуль состоит из четырех файлов: mistakes.js, mistakes.css, mistakes.php и overlay.png.Скачать можно отсюда. Чтобы его подключить, нужно поместить эти файлы в директорию своего сайта, например в папку «mistakes» и на всех страницах сайта между тегами «head» вставить две строки:
<script type="text/javascript" charset="windows-1251" src="/путь до файла/mistakes.js"></script>
<link href="/путь до файла/mistakes.css" rel="stylesheet" type="text/css" />
При этом после src=" и href=" нужно прописать путь к файлу mistakes.js и mistakes.css соответственно.
Файл mistakes.js. В этом файле нужно изменить значение переменной misphploc (то, что между кавычками "") на путь к файлу mistakes.php.Файл mistakes.php.
Здесь нужно изменить значение нескольких переменных:
$title - заголовок сообщения,
$to, - email, на который будут отправляться сообщения,
$mymail - email, от кого пришло сообщение.
Ну и, конечно же, для того чтобы посетитель знал, что он может посодействовать в исправлении ошибок, нужно разместить на страницах вашего сайта, например, такую фразу:
На сайте работает система проверки ошибок. Обнаружив неточность в тексте, выделите ее и нажмите Ctrl + Enter.
Также открыть окошко отправки сообщения можно, кликнув по ссылке:
Код ссылки:
<a href="javascript:void(0)" onclick="PressLink()">Отправить сообщение об ошибке</a>
Исходная кодировка скрипта windows-1251. Если ваш сайт работает на utf-8, то создайте в папке со скриптом файл .htaccess и добавьте в нем строку:
AddDefaultCharset windows-1251
Также вам скорее всего нужно будет переформатировать в utf-8 файл mistakes.js
Скачать модуль mistakes-4.1.zip (zip архив 7Kb).
Если вас по каким-либо причинам не устраивает последняя версия, попробуйте предыдущую - 3.3. mistakes3.3.zip (zip архив 6Kb).
Успешной вам борьбы с опечатками)) Вопросы и пожелания оставляйте в комментариях.
Комментарии
Впрочем, Вы правы, слово
Опубликовано пользователем Сергей
Впрочем, Вы правы, слово "Вдруг" не является вводным. Погорячился :)
Несколько раз эту проблему в
Опубликовано пользователем Newsman
Несколько раз эту проблему в комментариях подымали, но решения ни писалось.
Всё работает отлично, кроме поля Комментарий. Это поле остаётся пустым в приходящем письме - https://yadi.sk/i/RLoYq8xY3HUvdS
Как исправить?
Уточнение. Не пересылаются
Опубликовано пользователем Newsman
Уточнение. Не пересылаются только кириллические знаки. Если писать латиницей, то всё приходит.
Решение нашёл:
Опубликовано пользователем Newsman
Решение нашёл:
>> Исходная кодировка скрипта windows-1251. Если ваш сайт работает на utf-8, то создайте в папке со скриптом файл .htaccess и добавьте в нем строку:
>> AddDefaultCharset windows-1251
>> Также вам скорее всего нужно будет переформатировать в utf-8 файл mistakes.js
Делать необходимо не так как в описании:
1. .htaccess создавать не нужно
2. mistakes.js и mistakes.php конвертируем в UTF-8 без BOOM
3. в mistakes.php в трёх местах меняем windows-1251 на utf-8
Всё хорошо отправляется, вот
Опубликовано пользователем girk
Всё хорошо отправляется, вот только никаких писем на почту не приходит, тоже самое и с orphusom. В чём может быть проблема, кто сталкивался с таким?
Извиняюсь за первое моё
Опубликовано пользователем girk
Извиняюсь за первое моё сообщение. Косяк был мой, моя тупость. Всё работает отлично и Почта приходит на указанный ящик. Спасибо автору.
Здравствуйте! Хостинг не
Опубликовано пользователем Александр
Здравствуйте! Хостинг не поддерживает php . Возможно ли другое решение без php?
Скажите пожалуйста как его
Опубликовано пользователем Виталий
Скажите пожалуйста как его можно переформатировать на utf-8 у меня в сообщение об ошибки какие то иероглифы
Здравствуйте кто подскажет
Опубликовано пользователем Рустем
Здравствуйте кто подскажет как мне эту вункцию реализовать на сайте сделанном в AdobeMuse
Пожалуйста, обратите внимание
Опубликовано пользователем Сергей
Пожалуйста, обратите внимание: скрипт некорректно работает с выделенными гиперссылками (выделить ссылку и нажать Ctrl+Enter) и на страницах с фреймами - в последнем случае он вообще зависает.
Подтверждаю! Если выделить
Опубликовано пользователем Вася
Подтверждаю! Если выделить текст, в котором присутствует гиперпересылка, то показывает в форме отправки ошибки и близко не тот текст, что выделен, а который в начале. Это серьёзно вводит в заблуждение. Как это можно исправить?
Может стоит позаимствовать
Опубликовано пользователем Андрей
Может стоит позаимствовать часть кода выделения из самого орпхус или вот есть плагин для вордпресс Mistape.
Просто если ссылка или ещё что, то действительно абсолютно не тот текст показывает в окне выделения. Это весьма дезориентирует тех, кто отправляют сообщения о ошибках.
Здравствуйте! Большое спасибо
Опубликовано пользователем Евгений
Здравствуйте! Большое спасибо за скрипт! Но, есть вопрос. Почему то не возможно выделить скажем 2 строки подряд, выделяется только какая то часть первой строки (если выделять 2 хотя бы, а если выделяю одну, то выделяется вся). Максимальное число символов выставил в 1000 вместо 300. Мне нужна такая возможность, чтобы админ сайта мог мне прислать сообщение об ошибке типа нотайс например, когда php пишет номер строки, ошибку, адрес файла и т.д. ,но это не получается сделать. Где что поправить, чтобы можно было копировать несколько строк? Спасибо!
Добрый день! У Вас получилось
Опубликовано пользователем Алексей
Добрый день! У Вас получилось решить проблему с выделением нескольких строк? Если да, то не могли бы Вы подсказать мне? Спасибо
Добрый день. Спасибо за
Опубликовано пользователем Александр
Добрый день. Спасибо за скрипт. Поставил, настроил, все, вроде, работает, но письма с ошибками на почтовый адрес приходят все равно с кракозябрами: Адрес страницС
Про кодировку много написано
Опубликовано пользователем gorniy
Про кодировку много написано - и в самой статье и в комментариях.
Все, справился с кракозябрами
Опубликовано пользователем Александр
Все, справился с кракозябрами в почте. Спасибо за скрипт, очень полезный.
Вот только еще вопрос.
Опубликовано пользователем Александр
Вот только еще вопрос. Смотрите: есть предложение: "Добро пожаловать на мою небольшую страничку в интернете," Предположим, есть ошибка в слове "небольшую". Выделяю слово, жму контр+энтер. В форме выделяются три предыдущих слова: "пожаловать на мою", а слово, которое выделяю, дается не полностью: "неб". Все. ОК отправляю, вижу в письме те же выделенные жирным предыдущие три слова, но не ошибочное.
Доброе время суток.
Опубликовано пользователем Ксения
Доброе время суток.
Мучает такой вопрос, можно ли тот скрипт выложить такой CMS как CMS.S3(Мегагрупп)? Она написана на такой вещи как smarty и конечно требует специалиста smarty для изменения кода
Скорее всего не получится, т
Опубликовано пользователем gorniy
Скорее всего не получится, т.к. вы не можете изменять код в этой CMS. Это могут сделать только программисты компании Мегагрупп.
Здраствуйте. А можно сделать
Опубликовано пользователем nalyk
Здраствуйте. А можно сделать так чтобы скрипт реагировал лишь на техт выделенный в определенном HTML теге, DIV-e например, по id?
Скорее всего можно...
Опубликовано пользователем gorniy
Скорее всего можно...
aasdasd asdasd
Опубликовано пользователем ыфвфывфыв
aasdasd asdasd
Сообщения не приходит я
Опубликовано пользователем ыфвфывфыв
Сообщения не приходит я сделал как то сказано поменял на совой
У меня при нажатии ctrl и
Опубликовано пользователем Юлия
У меня при нажатии ctrl и Enter, в окошке появляется сам сайт, никаких форм для заполнения нет. Кто знает в чем может быть причина? Сайт на битриксе
Надо в файле mistakes.js, 10я
Опубликовано пользователем Евгений
Надо в файле mistakes.js, 10я строчка указать путь до файла mistakes.php.
Отличный скрипт работает на
Опубликовано пользователем Сергей
Отличный скрипт работает на сайте уже больше 2 лет! Спасибо!
Скажите, а с телефона этот
Опубликовано пользователем Sholem
Скажите, а с телефона этот скрипт не работает?
С телефона только тапом на
Опубликовано пользователем gorniy
С телефона только тапом на ссылку. Ошибку пишем вручную в комментарии.
Я изменил функцию на
Опубликовано пользователем Sholem
Я изменил функцию на CtrlEnter и заработало на телефоне!
Рецепт в студию!)
Опубликовано пользователем gorniy
Рецепт в студию!)
Ну я же написал
Опубликовано пользователем Sholem
Ну я же написал
Вот пример
<div class="mistakes">Ошибка в тексте? Выделите ее и <a href="javascript:void(0)" onclick="CtrlEnter()">нажмите</a> <span>Ctrl + Enter</span> </div>
Зайдите с телефона сюда https://www.moshiach.ru/bneinoach/7/1605_12_2.html
и увидите сами.
там CSS надо добавить чтобы было fixed.
Точно)
Опубликовано пользователем gorniy
Точно)
Куда именно надо этот код
Опубликовано пользователем mi9029253
Куда именно надо этот код писать?
Я имею в виду, где fixed
Опубликовано пользователем mi9029253
Я имею в виду, где fixed прописать?
это прописывается в файле CSS
Опубликовано пользователем gorniy
это прописывается в файле CSS для блока, который должен оставаться неподвижным.
Здравствуйте. С переходом на
Опубликовано пользователем mi9029253
Здравствуйте. С переходом на пхп 8 стала возникать ошибка следующего рода: Warning: Undefined array key "submit" in дальше указывается основной файл и строка 63 if($_POST['submit']) {. Не подскажете, как это можно исправить?
Всё супер, но не справлюсь с
Опубликовано пользователем Вячеслав
Всё супер, но не справлюсь с одной ошибкой. Перед тем ещё совсем не выделить ошибку ничего не происходит, но в консоле ошибка: Uncaught TypeError: txt.anchorNode is null
Не работает в гугл хром
Опубликовано пользователем Сергей
Не работает в гугл хром (пустое окно).Какая версия php нужна
не работает(пустой фрейм) в
Опубликовано пользователем sda
не работает(пустой фрейм) в Гугл Хром по https протоколу добавьте мета тег на странице где хотите видеть фрейм
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
и всё будет норм
У кого скрипт не работает
Опубликовано пользователем sda
У кого скрипт не работает(пустой фрейм) в Гугл Хром по https протоколу добавьте мета тег на странице где хотите видеть фрейм
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
и всё будет норм
Страницы
Добавить комментарий