Я анализировал данные, которые собирал, и сделал несколько выводов. Я заметил, что подавляющее большинство ошибок, которые я получаю, исходит от компьютеров Windows Vista с IE 8 или Firefox 3. Там также было несколько случаев, когда это были Vista и IE 7. Это могло бы объяснить, почему ошибки сейчас просто становится проблемой, поскольку все больше и больше людей используют новую операционную систему.
Mozilla / 4.0 (совместимо; MSIE 8.0; Windows NT 5.1; Trident / 4.0; FunWebProducts; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Mozilla / 4.0 (совместимый; MSIE 8.0; Windows NT 5.1; Trident / 4.0; GoogleT5; MSN Optimized; CA; MSN Optimized; CA)
Mozilla / 4.0 (совместимый; MSIE 8.0; Windows NT 6.0; WOW64; Trident / 4.0; GTB5; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; Media Center PC 5.0)
Но в любом случае, я хочу сделать вывод, что на основе этой информации я начал изучать, как браузеры обрабатывают Java-скрипты, и если появилось что-то новое, что могло вызвать эту проблему, тогда у меня появилось что-то интересное. Я нашел на сайте w3School статью о различии html и xhtml.
Различия между HTML и XHTML
HTML 4 и XHTML по-разному работают с содержимым внутри скриптов:
В HTML 4 тип контента объявлен как CDATA, что означает, что сущности не будут анализироваться.
В XHTML тип содержимого объявлен как (#PCDATA), что означает, что сущности будут проанализированы.
Это означает, что в XHTML все специальные символы должны быть закодированы или весь контент должен быть заключен в раздел CDATA.
Чтобы обеспечить правильность синтаксического анализа сценария в документе XHTML, используйте следующий синтаксис:
Итак, я сразу же посмотрел свой код и увидел, что на некоторых моих страницах отсутствует директива DOCTYPE, которые вызывают проблему. Я также заметил, что там, где я выводил JavaScript с помощью подпрограммы .NET Register Client Script, он оборачивал внутреннее содержимое тегов сценария атрибутом CDATA, тогда как там, где был обычный JavaScript, написанный на странице, CDATA не использовался. Например
Функция RunMe () {
}
Я не эксперт в том, как браузер отображает или анализирует html-возвращение, но я твердо верю, что это как-то связано с описанной выше ситуацией, поскольку параметр Url в запросе ресурса скрипта при его сбое всегда содержит код между тегами скрипта это ниже этого. Иногда есть даже код таблицы стилей HTML, который также можно найти там. Например
http://braun.factoryoutletstore.com/ScriptResource.axd?d=70kBR-jPBTx9R89FxObjhipHPS9CMlta5W6ZZiqkaa5zNOXUU4DtsY8V_8function runSearchForField (eventObj, id) {if ((eventObj.which == 13) || (eventObj.keyCode == 13)) {var cat_gallery = getParam ('gallery'); var cat = getParam ('cat') var searchTerm = escape (document.getElementById (id) .value); // необходимо использовать функцию escape () для urlencode поискового запроса, чтобы избежать проблем с символами '&' и '=' var url; if (cat_
http://braun.factoryoutletstore.com/ScriptResource.axd?d=9vS7Hk65j_0hD8to_aPDj
Теперь я думаю о том, что кое-что, потому что не указывает какой-либо DOCTYPE на странице, которую браузер может пытаться вывести на основе данных, которые он получает, тогда он в конечном итоге портится, потому что иногда есть CDATA, и бывают случаи, когда CDATA отсутствует на странице. Я действительно не знаю, является ли это серьезной причиной предположений, так как они говорят, что предположения опасны. Если кто-то может пролить свет на мою теорию и сообщить мне, если браузеры анализируют xhtml по-другому, чем старая версия, или даже если у них были подобные ситуации.