新しく作成されたdivをbody要素onloadに追加するスクリプトがあります。私は、アプリケーション全体でそのdivへの参照を保持する必要があるので、私はそれを私の主要なグローバルオブジェクトに保存します。オブジェクトプロパティとして作成された要素を追加する
var oMyObj = {};
window.onload = function() {
oMyObj.eDiv = document.createElement("div");
document.getElementsByTagName("body")[0].appendChild(oMyObj.eDiv);
};
私は特にあなたが同意するとは思わない。とにかく、私はIE9でテストを開始するまで、まったく問題なく動作しました。突然、「オブジェクトの呼び出しが無効です」というエラーメッセージが表示されます(私は現在日本で働いています)。エラーメッセージの正確な英語版が何であるかわかりません。
とにかく、私は、
RealPlayer
DivXプラグインのために(http://d.hatena.ne.jp/wang-zhi/20110503/1304361114 - 申し訳ありませんが、日本語でも)検索しました。プラグインを無効にした後、正常に動作しました。また、メタタグを使用してIE9をIE7として実行すると、正常に動作します。だからそれは大きな問題ではない。しかし、私がIE9でIE9として動作するようにしようとしていることを「正しい」方法があるかどうかを知りたいと思います。私が今やっていることは、私がやっていることではないということだけを仮定することができます。
アイデア?
私はそれに間違いは見られません。 – Pointy
oMyObj.eDivがonloadの前に参照されることはありますか?エラーが発生したときのoMyObjの値は何ですか?つまり、oMyObjまたはoMyObj.eDivはnullですか? –
'var oMyObj'と' oMyObj'を 'window.oMyObj'に変更しても結果は同じですか?そうすれば、実際にグローバルになっているかどうかを確認できます。 – bennedich