以下是该方案:
我有一个容器页面可以交换iFrames以显示不同的内容。所有iFrame都来自同一个域。 https已启用。
在IE9调试工具控制台中,如果我输入s1data,它会显示该对象的所有属性。但是,如果我调用s1data.hasOwnProperty('prop1'),我会得到一个“无法从释放的脚本执行代码”错误。如果我调用Object.prototype.hasOwnProperty.call(s1data,“prop1”),一切正常。
在我看来,有两种可能性:
1)容器页面保留第一个iFrame的引用,但是当第一个iFrame被丢弃时,它会丢失一些数据。这似乎不太可能,因为我唯一无法访问的是函数
2)有一项安全限制,即使两个iFrame来自同一个域,也不允许一个iFrame运行与另一个iFrame相关的代码。
有什么想法吗?
答案 0 :(得分:1)
刚遇到类似的问题。对我而言,只需将s1data.hasOwnProperty('prop1')
更改为('prop' in s1data)
即可使错误消失。