Рубрики
Верстальщику

Javascript и XHTML

Когда вы вставляете Javascript между тегами <script> и </script> на веб-страницу, которая имеет DOCTYPE HTML 4.01 Transitional или SCRIPT, то при валидации страницы у вас не должно возникнуть особых проблем. Поскольку в структуре HTML содержание Javascript, обрабатывается валидатором как CDATA (character data), содержание которого фактически игнорируется валидатором. Однако если вы следуете стандартам XHTML при верстке, то валидатор читает код между тегами скрипта как PCDATA (parsed character data), которые он не игнорирует, а начинает обрабатывать. И здесь начинаются чудеса. Вернее не чудеса, а всплывают ошибки валидации.

Есть два способа устранить эту проблему. Самый простой путь, особенно если Javascript содержит много строк, состоит в том, чтобы вынести Javascript за пределы страницы с помощью ссылки на внешний файл.

Однако бывают ситуациикога скриптик совсем небольшой и нет смысла выносить его во внешний файл и делать линк. В итоге, если вам нужно включить небольшой крипт непосредственно в страницу между тэгами <script> и </script>, то вам нужно использовать небольшой «хак» (конечно если вы заинтересованы в валидности вашего документа).