Добавление элемента, созданного как свойство объекта - PullRequest
0 голосов
/ 31 октября 2011

У меня есть скрипт, который добавляет недавно созданный div к элементу body onload.Мне нужно сохранять ссылку на этот div во всем приложении, поэтому я храню его в своем главном глобальном объекте.

var oMyObj = {};

window.onload = function () {
    oMyObj.eDiv = document.createElement("div");
    document.getElementsByTagName("body")[0].appendChild(oMyObj.eDiv);
};

Ничего особенно революционного, я уверен, вы согласитесь.Во всяком случае, он работал абсолютно нормально, пока я не начал тестирование в IE9.Внезапно я получаю сообщение об ошибке: «Я сейчас работаю в Японии), что в некотором смысле переводится как« вызов объекта был нулевым / недействительным ».Не уверен, какая именно английская версия сообщения об ошибке.

В любом случае, я искал и обнаружил (http://d.hatena.ne.jp/wang-zhi/20110503/1304361114 - извините, также на японском языке), что это произошло из-за RealPlayer DivX плагин.После отключения плагина все заработало нормально.Это также работает нормально, если я использую метатег, чтобы заставить IE9 работать как IE7.Так что это не главная проблема.Но я хотел бы знать, есть ли «правильный» способ сделать то, что я пытаюсь сделать, чтобы он работал в IE9 как IE9.Я могу только предположить, что то, что я делаю сейчас, не то, что я должен делать.

Есть идеи?

1 Ответ

0 голосов
/ 12 ноября 2011

Хорошо, у меня есть подтверждение, что это был плагин DivX (не RealPlayer; не знаю, почему я их перепутал), вызывающий проблему.Плагин перезаписывает некоторые основные функции DOM, включая appendChild, который мне кажется безумным, но неважно.DivX признал ошибку и, вероятно, собирается исправить ее в следующем обновлении.Да, я думаю.

...