Подтвердить что ты не робот

Обертка javascript в <! - ->

Какой смысл обрезать код javascript в <!-- -->?

4b9b3361

Ответ 1

Это один из моих питомцев. Это древняя практика разработчиков для защиты старых браузеров, которые не понимают теги <script>. Без этого они могут не загружать страницу или отображать содержимое script как содержимое html.

Но мы говорим о древних браузерах здесь. Единственными браузерами, которые когда-либо терпели неудачу при разборе javascript, были браузеры 1995 года. Эти браузеры просто не используются сегодня. Эта практика - всего лишь удержание 90-летнего веб-разработки.

Никто никогда не должен класть блоки <!-- --> вокруг своего содержимого тега script.

Если вы видите разработчиков, которые все еще это делают, исправьте их. Не анализировать javascript не было проблемой, так как Netscape 1.0 и эта практика фактически считается вредной для современных браузеров.

Ответ 2

Обернув Javascript-код в комментарии HTML, вы предотвратите старые браузеры, которые не поддерживают Javascript, пытаясь обработать код как HTML.

Ответ 4

Он не позволяет агентам пользователя, которые либо не знают тег <script>, либо не обрабатывают его должным образом, пытаясь разобрать или отобразить код JavaScript как HTML.

Общепринятое мнение, что вам нужно отправиться в конце 1990 года, чтобы найти браузер, который не знает тег <script>. Тем не менее, мои собственные сайты часто просматриваются инструментами, которые реализуют очень рудиментарные парсеры (почему бы и нет? Вы можете написать граббер с 10 строками PHP). И я также обнаружил, что JavaScript-код появляется в середине документа после вставки с веб-сайта в настольное приложение, которое должно принимать HTML из буфера обмена. Таким образом, экранирование не HTML-содержимого в комментариях HTML не так глупо, как может показаться.

Ответ 5

Старый браузер, который не понимает Javascript, просто увидит комментарий HTML.

Ответ 6

Помимо некоторых браузеров, возможно, не поддерживающих его, есть еще одна причина: валидатор W3C XHTML (http://validator.w3.org) интерпретирует JavaScript, который не является в тегах комментариев, как если бы это был HTML. Таким образом, что-то вроде "i < 0" будет означать, что ваш веб-сайт не проверяется, если вы не используете эти теги.