Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   валидатор w3c и код javascript (https://javascript.ru/forum/misc/24908-validator-w3c-i-kod-javascript.html)

bartonom 18.01.2012 17:51

валидатор w3c и код javascript
 
Подскажите, пожалуйста, почему валидатор недоволен строкой кода цикла в javascript
for (var i=0; i < count; i++) {


Сообщает следующее:
character "<" is the first character of a delimiter but occurred as data
for (var i=0; i < count; i++) {
This message may appear in several cases:
•You tried to include the "<" character in your page: you should escape it as "&lt;"
•You used an unescaped ampersand "&": this may be valid in some contexts, but it is recommended to use "&amp;", which is always safe.

devote 18.01.2012 17:58

<script type="text/javascript">
// <!--
    for (var i=0; i < count; i++) {
    }
// -->
</script>

bartonom 18.01.2012 18:01

Спасиба, если можно подробнее, почему нужно комментарить?

bartonom 18.01.2012 18:02

Спасибо, конечно, опечатка

bartonom 18.01.2012 18:44

Насколько мне известно, на сегодняшний день все браузеры давно уже поддерживают javascript, поэтому помещать код в html-комментарии больше не нужно. Валидатор после размещения кода в комментариях

<script language="JavaScript">
<!--
... код скрипта
//-->
</script>

,действительно перестал выдавать ошибку, но непонятно почему это нужно делать, потому и задал вопрос - почему нужно комментарить.
Можно ли все-таки обойтись без комментариев и чтобы код валидатор принял?

Gozar 18.01.2012 18:46

bartonom,
вынеси в отдельный файл или забей на валидатор.

bartonom 18.01.2012 18:58

Ну, наверно, так и придется сделать. Просто хотелось понять, что не устраивает

B@rmaley.e><e 18.01.2012 19:19

Цитата:

Сообщение от bartonom
Просто хотелось понять, что не устраивает

Валидатору не нравится использование знака < там, где нет HTML тега. В таких случаях согласно стандарту полагается использовать &lt;. Внутри JS скрипта, конечно же, такая запись не пройдёт, поэтому нужно как-то указать, что содержимое тегов script не является HTML разметкой и валидировать его не нужно. Для этого можно либо использовать маркеры комментариев, либо CDATA.

bartonom 18.01.2012 19:22

Цитата:

Сообщение от B@rmaley.e><e
Валидатору не нравится использование знака < там, где нет HTML тега. В таких случаях согласно стандарту полагается использовать &lt;. Внутри JS скрипта, конечно же, такая запись не пройдёт, поэтому нужно как-то указать, что содержимое тегов script не является HTML разметкой и валидировать его не нужно. Для этого можно либо использовать маркеры комментариев, либо объявить блок CDATA.

Вот оно! Спасибо большое B@rmaley.e><e и всем!


Часовой пояс GMT +3, время: 01:28.