как преодолеть ошибку IE при динамическом присоединении div к телу из скрипта - PullRequest
0 голосов
/ 15 февраля 2009

ОБНОВЛЕНИЕ: HTML не был правильно сформирован. Это заставляло скрипт появляться во внутреннем div. Пожалуйста, не обращайте внимания на вопрос.

В IE версии <8 есть известная ошибка (Internet Explorer не может отобразить страницу. Операция прервана) Если скрипт пытается добавить что-то в блок верхнего уровня: </p>

Ошибка описана здесь :

Обновление: я перефразировал вопрос и упростил пример:

Ошибка возникает в следующем коде:

[end of html file]
<script type="text/javascript" >
if (window.document.body){
    var c_div = window.document.createElement('div');
    window.document.body.appendChild(c_div);    
}
</script>

</body>

Вопрос: Мне кажется, что это в точности похоже на пример1 Метод1 В обходе Microsoft ( здесь снова ссылка ). Почему у меня все еще есть ошибка? Что мне здесь не хватает?

Ответы [ 3 ]

8 голосов
/ 15 февраля 2009

Запустите ваш код в обработчике событий domready / onload.

0 голосов
/ 15 февраля 2009

HTML-код на странице был плохо сформирован. Пожалуйста, не обращайте внимания на вопрос.

0 голосов
/ 15 февраля 2009

Это может быть немного безумный подход, но не могли бы вы вытащить innerHTML из всего <body>, добавить к нему свою строку и затем установить <body> innerHTML в новое значение?

Может влиять на некоторые ранее присоединенные события JS, если только это не встроенный элемент onclick.

...