Столкнулся на сайте клиента с редкой проблемой — на странице выводились символы LSep, как показано на скриншоте (обведено красным). В консоли браузера этот элемент вообще не был виден.
Поизучал тему. Оказалось, что ошибка проявляется, похоже, только в браузере Google Chrome. Это значит, что по каким-то причинам начинает отображаться символ переноса строки.
Какого-то хорошего, на мой взгляд, решения обнаружить не удалось. Только варианты на js, когда после загрузки страницы все ее элементы проверяются и символ перевода строки, если обнаружен, заменяется на пустое значение.
Нашел два варианта скрипта, чтобы убрать lsep.
1. Этот вариант можно вставить прямо в код html страницы. Я добавил в конец файла footer.php (сайт на движке wordpress).
1 2 3 4 5 |
<script type="text/javascript"> <!-- window.onload = function() { document.body.innerHTML = document.body.innerHTML.replace(/\u2028/g, ''); } //--> </script> |
2. Этот вариант можно добавить в какой-нибудь загружаемый на сайте файл js.
1 2 3 4 5 |
$(document).ready(function() { $("body").children().each(function() { $(this).html($(this).html().replace(/
/g," ")); }); }); |
В скриптах u2028 и 8232 это коды символа перевода строки.
Я попробовал первый вариант — сработало.
Затем выяснилось, что хотя ненужный символ исчез, но вместе с тем возникли проблемы с работой виджета ВК на сайте, а также перестало отображаться выпадающие мобильное меню. Попробовал использовать такой скрипт, где вместо body указал класс корзины. Думал, может скрипт удаляет что-то лишнее в других местах.
1 2 3 4 5 6 7 |
jQuery(function($) { $(document).ready(function () { $(".festi-cart").children().each(function() { document.body.innerHTML = document.body.innerHTML.replace(/\u2028/g, ' '); }); }); }); |
Lsep исчезает, но проблемы в работе других скриптов остаются. В общем для меня этот вопрос остался открытым.
В итоге я нашел вывод этого символа в исходном файле плагина, порождающего его, и удалил. В редакторе notepad++ он выглядел просто как LS. Проблема исчезла.
Чистить с помощью скрипта на уже сформированной странице — идея плохая. Это заставляет браузер заново рендерить страницу, нечестно по отношению к пользователю.
Столкнулся с этой проблемой и надеялся что найдется онлайн ресурс где можно будет вручную удалить эти символы. Не нашел. Написал в jsfiddle свой скрипт: https://jsfiddle.net/battlehater/ztp21o3e/
И, хотя, вашему посту больше года, надеюсь, что кому-то поможет и что ребята с jsfiddle не будут ругаться).
Если символ один — то можно и в редакторе удалить. Но если символов много — то подобный скрипт в самый раз. Все делается нажатием одной кнопки, текст затем копируется в буфер обмена.