我有一個腳本,它將新創建的div附加到正文元素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的方式工作。我只能假設我現在所做的並不是我應該做的。
任何想法?
我看不出有什麼問題。 – Pointy
在onload之前是否可以引用oMyObj.eDiv?錯誤發生時oMyObj的值是多少?換句話說:它是oMyObj還是oMyObj.eDiv是空的? –
如果將'var oMyObj'和'oMyObj'更改爲'window.oMyObj',結果是否相同?這樣你將確保它實際上是全球性的。 – bennedich