Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Валидация на W3.org. Как быть с JavaScript в коде.


Автор: linuxoid 2.6.2010, 14:33
Здравствуйте коллеги. У меня к вам такой вопрос: 

Допустим я сделал index.php, где есть JavaScript и вообще сайт сделан на CMS'e и в индексе много чего происходит. Как нужно такую страницу проводить через валидатор и нужно-ли вообще это делать? Я имею в виду, что получается, чтобы проверить мой сайт на валидность (index.php), я должен сначала отключить все, что не связано с html кодом, оставить только html и пускать его через валидатор или как это делается???

Автор: bars80080 2.6.2010, 15:09
Цитата(linuxoid @  2.6.2010,  14:33 Найти цитируемый пост)
Допустим я сделал index.php, где есть JavaScript и вообще сайт сделан на CMS'e и в индексе много чего происходит. Как нужно такую страницу проводить через валидатор и нужно-ли вообще это делать? Я имею в виду, что получается, чтобы проверить мой сайт на валидность (index.php), я должен сначала отключить все, что не связано с html кодом, оставить только html и пускать его через валидатор или как это делается???

нет, причём здесь пхп? никакой валидатор не может знать что варится внутри (если конечно сайт правильно работает)

всё что видит валидатор - это хтмл-разметку и более ничего. скармливаешь ему урл-адрес проверяемой страницы и всё

Автор: linuxoid 3.6.2010, 17:59
Так я и скормил, но он почему-то начал JavaScript, который внутри файла расценивать как html код. Получается, что php это все ок, т.к. действительно на выходе html, но JavaScript, который в этом же фале - сразу вызывает сбои и не игнорируется валидатором.

Автор: ksnk 3.6.2010, 18:16
linuxoid, доктайп у документа, случайно не xhtml? для валидности xhtml'я нужно, чтобы все скрипты специальным образом были оформлены, в скобочках <[CDATA[... ]]> и стили тож... впрочем, про это валидатор напомнит  smile ...

Автор: linuxoid 3.6.2010, 20:07
Код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">


А пониже идет

Код

<script type="text/javascript">
....тут идет код, с которым все ок в плане валидатора
function addImgBrowser(id)
{
....код ОК....
    if(PreviousInnerHTML == "" && id <= <?php echo AJAX_IMG_PICS_AMOUNT; ?>)
    {
...код дальше....


Код

Validation Output: 232 Errors

   1. Warning Line 72, Column 29: character "&amp;" is the first character of a delimiter but occurred as data

       if(PreviousInnerHTML == "" && id <= 4)

      ✉

      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.



Спасибо за подсказку! У меня действительно xhtml1 в доктайпе фигурирует (если Вы это имели в виду). Попробую разобраться с тем, что Вы сказали насчет <[CDATA[... ]]>.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)