О спецификации HTML 4.0

Как скрыть скрипт от агентов пользователей


Агенты пользователей, не распознающие элемент , могут представить его в виде текста. Некоторые ядра скриптов, включая ядра для языков JavaScript, VBScript и Tcl, позволяют включать выражения скриптов в комментарий SGML. Агенты пользователей, не распознающие элемент , будут игнорировать комментарии, а ядро скрипта обнаружит и выполнит его.

Другим решением этой проблемы является хранение скриптов во внешних документах и ссылка на них с помощью атрибута .

Комментирование скриптов JavaScript

Ядро JavaScript допускает использование строки "<!--" а начале элемента SCRIPT и игнорирует дальнейшие символы, до конца строки. JavaScript интерпретирует символ "//" как начало комментария, продолжающегося до конца текущей строки. Это необходимо, чтобы строка "-->" не разбиралась синтаксическим анализатором JavaScript.

<SCRIPT type="text/javascript"> <!-- скрыть содержимое скрипта от старых браузеров function square(i) { document.write("Вызов передал ", i ," в функцию.","<BR>") return i * i } document.write("Функция вернула ",square(5),".") // конец скрытого содержимого --> </SCRIPT>

Комментирование скриптов в VBScript

В VBScript комментарием считается весь текст, начиная с символа одиночной кавычки до конца строки. Это может использоваться для комментирования строки "-->" от VBScript, напрмер:

<SCRIPT type="text/vbscript"> <!-- Sub foo() ... End Sub ' --> </SCRIPT>

Комментирование скриптов в TCL

В Tcl комментарием считается текст от символа "#" до конца строки:

<SCRIPT type="text/tcl"> <!-- скрыть содержимое скрипта от старых браузеров proc square {i} { document write "Вызов передал $i в функцию.<BR>" return [expr $i * $i] } document write "Функция вернула [square 5]." # конец скрытого содержимого --> </SCRIPT>

Примечание.

Некоторые браузеры считают концом комментариев первый символ ">". В этом случае Вы можете перенести операнды для операторов отношения и сдвига (например, используя "y < x" вместо "x > y") или использовать определенные в языке скрипта способы обхода символа ">".

         



Содержание раздела