[英]IE9 “Can't execute code from freed script” when calling hasOwnProperty()
這是場景:
我有一個容器頁面,可以將iFrame換入和換出以顯示不同的內容。 所有iFrame都來自同一域。 https已啟用。
在IE9調試工具控制台中,如果鍵入s1data,它將顯示該對象的所有屬性。 但是,如果我調用s1data.hasOwnProperty('prop1'),則會收到“無法從釋放的腳本執行代碼”錯誤。 如果我調用Object.prototype.hasOwnProperty.call(s1data,“ prop1”),一切正常。
在我看來,可能有兩種可能性:
1)容器頁面保留了第一個iFrame的引用,但是當第一個iFrame被釋放時,它將丟失一些數據。 這似乎不太可能,因為我唯一無法訪問的是函數
2)有一個安全限制,即使兩個iFrame來自同一域,也不允許一個iFrame運行與另一個iFrame相關的代碼。
有什么想法嗎?
剛遇到類似的問題。 對我來說,只需將s1data.hasOwnProperty('prop1')
更改為('prop' in s1data)
,錯誤就會消失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.