Я запускаю свой сайт через валидатор W3C, пытаясь заставить его утверждать, как XHTML 1.0 Strict, и я попал к особенно липкой (по крайней мере, по моему опыту) ошибке проверки. Я включаю некоторые значки из различных сервисов на сайте, которые предоставляют свой API и код для включения на внешний сайт. Эти значки используют javascript (по большей части) для заполнения элемента, который вы вставляете в разметку, для которой требуется ребенок. Это означает, что в итоге генерируется совершенно правильная разметка, но в валидаторе все, что она видит, является неполным тегом parent-child, который затем выдает ошибку.Как вы пишите Valid XHTML 1.0 Строгий код, когда вы используете javascript для заполнения элемента, который требует ребенка?
Как предостережение, я понимаю, что могу жаловаться на услуги, которые их значки не подтверждают. Без этого я предполагаю, что кто-то подтвердил свой код, включая такие значки, как это, и это то, что меня интересует. Ответы, такие как «Пожаловаться на Flickr об их значке», не помогут мне.
Дополнительный оговорка: я бы предпочел, чтобы как можно больше разметка оставалась семантической. И.Е. Добавление пустого тега li или пары tr-td для его проверки будет нежелательным решением, даже если это может быть необходимо. Если это единственный способ, который можно сделать для проверки, ну, но, пожалуйста, оставьте ответы на семантическую разметку.
В качестве примера:
<div id="twitter_div">
<h2><a href="http://twitter.com/stopsineman">@Twitter</a></h2>
<ul id="twitter_update_list">
<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/stopsineman.json?callback=twitterCallback2&count=1"></script>
</ul>
</div>
Примечание ЛУ метки Обертывание JavaScript. Это в конечном итоге заполняется с помощью lis через скрипт, но в валидаторе он видит только незаселенную улицу.
Заранее спасибо!
Похоже, что Twitter использует обратный вызов, который вставляет xhtml. Для Twitter вы можете открыть http://twitter.com/javascripts/blogger.js и проверить twitterCallback2() и изменить его, чтобы работать так, как вы предпочитаете. Просто передайте новое имя функции обратного вызова в параметр обратного вызова во втором теге скрипта. – 2008-09-29 19:21:47