Следующий код XHTML не работает:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="/dojotoolkit/dijit/themes/tundra/tundra.css" /> <link rel="stylesheet" type="text/css" href="/dojotoolkit/dojo/resources/dojo.css" /> <script type="text/javascript" src="/dojotoolkit/dojo/dojo.js" djConfig="parseOnLoad: true" /> <script type="text/javascript"> dojo.require("dijit.form.ValidationTextBox"); dojo.require("dojo.parser"); </script> </head> <body class="nihilo"> <input type="text" dojoType="dijit.form.ValidationTextBox" size="30" /> </body> </html>
В Firebug я получаю следующее сообщение об ошибке:
[Exception ... "Компонент возвратил код ошибки: 0x80004003 (NS_ERROR_INVALID_POINTER) [nsIDOMNSHTMLElement.innerHTML] "nsresult: Расположение "0x80004003 (NS_ERROR_INVALID_POINTER)": "кадр JS :: http://localhost:21000/dojotoolkit/dojo/dojo.js :: аноним :: линия 319 "данные: нет] http://localhost:21000/dojotoolkit/dojo/dojo.js Линия 319
Есть идеи, что не так?
Проблема выглядит как конец файла ...
Различие между двумя швами в качестве Content-Type в заголовке ответа от apache.
Проблема заключается в том, что innerHTML - это неофициальное свойство, которое не является частью спецификаций W3C и, следовательно, может работать или не работать в зависимости от браузера, особенно когда страница отображается как файл XHTML, а не как файл HTML. См. здесь и здесь .
Куда вы импортируете dojo.js:
<script type="text/javascript" src="/dojotoolkit/dojo/dojo.js" djConfig="parseOnLoad: true"/>
Должно быть:
<script type="text/javascript" src="/dojotoolkit/dojo/dojo.js" djConfig="parseOnLoad:true"></script>
Развлекайся с додзё, он может делать классные вещи.
Брайан Джанфоркаро
На странице Dojo Trac есть несколько похожих билетов:
http://trac.dojotoolkit.org/search?q=xhtml+ns_error&noquickjump=1&ticket=on
Возможно, вы столкнулись с ошибкой, и вам нужно будет заполнить новый билет.
Вы уверены, что указали правильный путь в тегах скрипта?
Я разместил это в сети, проверь.
Слева - пародированный ввод Dojo, справа - обычный старый ввод. Link
Я на OS X, использую Firefox 3.0.1. Я не получаю ошибок под firebug.
Ну, что делает dojo.js в строке 319?