我有一個名爲CoolThing的JS對象,它存在於頂部窗口中。如何在IE7中從iFrame訪問父窗口中JS對象的屬性?
我有一個iFrame,與頂部窗口相同的域,需要訪問CoolThing中的屬性CoolProperty。
在iframe中的JavaScript訪問CoolProperty,這在FF,webkit的完美的作品,和IE8是:
<script type="text/javascript" charset="utf-8">
with(window.parent) {
this.CoolThing.CoolProperty.coolFunction();
}
</script>
在IE7中,我得到的錯誤:this.CoolThing.CoolProperty
爲空或不是一個對象。我試着通過遍歷其屬性來檢查CoolThing,但根據IE7沒有。訪問this.CoolThing本身沒有問題。只是它似乎認爲對象是空的。
我試過上面沒有with
語句,並試圖直接調用window.parent.CoolThing.CoolProperty,這在所有瀏覽器中都沒有問題,除IE7外,它在其中給出相同的錯誤。
任何提示?
不幸的是,我給了一個很簡單的例子,並沒有真正顯示出爲什麼我們使用,並它是獲取'this',我們正在使用它來範圍屬性,以及jquery調用。 事實證明,我可以調用我想要的功能,而不使用(我以爲我已經嘗試過這一點,它不工作,但現在它似乎),所以我只是重寫代碼沒有與塊。讓我們來寫一些該死的優雅代碼,如果它不適合煩人的IE7,那麼我們就可以避開它。 – jmw 2010-06-21 20:08:53