действительный html - '<' или '>' между <script>тегами - PullRequest
0 голосов
/ 18 ноября 2010

Когда я использую валидатор HTML:

http://validator.w3.org/

Это дает мне ошибку. В шапке моей страницы что-то вроде этого:

<script type="text/javascript"> 
$(document).ready(function(){
    $('#countdown').countdown({
        until: '+2d+3h+1m+6s',
        layout: '{d<}{dn} {dl}, {d>}{hnn}:{mnn}:{snn}'
    });
});
</script>

Часть в layout, которой дана строка, содержит <. Валидатор выдает ошибку.

Должен ли я просто обесценить это, так как это часть тега скрипта? Это что-то с валидатором?

Я знаю, что некоторые могут предложить поместить его во внешний файл, но он динамический, и я не хочу это выяснять.

Ответы [ 2 ]

5 голосов
/ 18 ноября 2010

Вы заверните это с CDATA

<script type="text/javascript"> 
//<![CDATA[
$(document).ready(function(){
    $('#countdown').countdown({
        until: '+2d+3h+1m+6s',
        layout: '{d<}{dn} {dl}, {d>}{hnn}:{mnn}:{snn}'
    });
});
//]]>
</script>

Ссылка: https://developer.mozilla.org/en/properly_using_css_and_javascript_in_xhtml_documents

0 голосов
/ 18 ноября 2010

Как упомянуто в примечании к Рекомендации HTML 4 об указании не-HTML данных в содержимом элемента, конечные теги распознаются в элементах SCRIPT, но другие виды разметки - такие как начальные теги и комментарии - нет.Это не интуитивная причуда SGML для элементов, для которых определено содержание CDATA.

Попробуйте

    <script type="text/javascript"> 
$(document).ready(function(){
    $('#countdown').countdown({
        until: '+2d+3h+1m+6s',
        layout: '{d<}{dn} {dl}, {d\>}{hnn}:{mnn}:{snn}'
    });
});
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...