Помогите с валидацией кода

WerewolfGSM

Creative Developer
Регистрация
4 Дек 2006
Сообщения
266
Реакции
23
Добрый день.
Валидатор w3.org ругается на следующий javascript код в теле страницы:
PHP:
var show = function() {
		images[currentIndex].fade('out');
		images[currentIndex = currentIndex < images.length - 1 ? currentIndex+1 : 0].fade('in');
	};
Это функция слайдшоу галереи.
Вот что говорит
PHP:
Line 96, Column 38: character "<" is the first character of a delimiter but occurred as data
		images[currentIndex = currentIndex < images.length - 1 ? currentIndex+1 : 0].…
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.
    * Another possibility is that you forgot to close quotes in a previous tag.
Предлагает мне экранировать знак "<" в коде. После экранирования код естественно работать не будет. Как обмануть валидатор?
Спасибо.
 
Да на многое чего он ругается,не обращайте внимание,если все норм работает.
 
Оно то работает, но есть мнение, что 100% валидные страницы лучше ранжируются поисковиками. Во всяком случае гугль в каком-то неофициальном документе об этом упоминал.
 
HTML:
var show = function() { 
        images[currentIndex].fade('out'); 
        images[currentIndex = currentIndex < (images.length - 1) ? currentIndex+1 : 0].fade('in'); 
    };
 
К сожалению предложенное решение не помогло.
Зато помогло другое. Я спрятал проблемный код в html комментарии
<script type="text/javascript">
<!--
здесь мой код.
// -->
</script>
и валидатор сьел и не подавился.
Спасибо всем откликнувшимся.
 
Тоже сегодня столкнулся, только у меня не в скрипте, а в обработчике событий.
Line 149, Column 33: character "<" is the first character of a delimiter but occurred as data
<a onmouseover="return overlib('<img src=\'/templates/images/f…
Воспользовался советом валидатора
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.
Another possibility is that you forgot to close quotes in a previous tag.
И вписал вместо первого открывающегося тега "<" - "&amp;"
И скрипт работает и валидацию прошёл.)
 
валидатор w3.org проверяет только веб документы html, xhtml, smil..., поэтому будут ошибки на яваскриптах, яваскрипт это не html. Решение прятать яваскрипты в коментарии как сказал WerewolfGSM , или выносить все яваскрипты в отдельный файл и его подключать к странице
HTML:
<script type="text/javascript" src="super_javascript.js"></script>
 
Дело в том, что
return overlib('<img src=\'/templates/images/f…
это тоже яваскрипт.
В качестве альтернативы можно былобы сделать так: скрипт "overlib('<img src=\'/templates/images/f…" поместить в какую нибудь функцию например overlib2, а уже эту функцию взять в коментарии.
Но к сожалению это не всегда удобно, особенно, когда скрипты формируются динамически из ПХП
 
Оно то работает, но есть мнение, что 100% валидные страницы лучше ранжируются поисковиками. Во всяком случае гугль в каком-то неофициальном документе об этом упоминал.

Нету такого. Гугл не ранжирует в зависимости от валидности.
 
Назад
Сверху