В нашем текущем проекте некоторый код возвращается с AJAX, и мы используем innerHTML, чтобы поместить этот код в DIV.
Теперь мы ищем в этом DIV все доступные теги сценариев и EVAL () содержимое этих тегов сценариев (добавляет некоторую информацию в глобальный массив и т. Д.)
scriptTags = responseElement.getElementsByTagName("script");
for (i = 0; i < scriptTags.length; i++) {
eval(scriptTags[i].text);
}
Это прекрасно работает в Firefox и Chrome. Но в IE скриптTag выглядит пустым. При дальнейшем исследовании кажется, что innerHTML элемента responseElement не содержит каких-либо тегов SCRIPT (хотя в Firefox / Chrome они есть!)
Кто-нибудь знает причину и / или обходной путь?
Кстати, вот как я разместил ответ AJAX на странице:
this.proxy.innerHTML = o.responseText;
scriptTags = this.proxy.getElementsByTagName("script");
Отладка o.responseText показывает теги SCRIPT внутри ответа. Переход к элементу this.proxy на странице показывает тег no SCRIPT в IE, но отображается в Firefox / Chrome.