这可能听起来很荒谬,但在某些情况下我们需要在JavaScript Objects
之间共享iframe
。
当我们尝试使用localStorage
来实现此目的时,人们会说某些浏览器可能不支持它。即使它们支持localStorage,用户可能会减少存储容量等等...... />
所以我的问题是,我们是否有一个解决方案/替代方案来跨JavaScript
分享iframe
个对象
下面的示例可能会让我们在同一页上
parentpage.html
<html>
...
<head><script src="script1.js" type="text/Javascript"></script></head>
<body>
...
<iframe src="childpage.html"></iframe>
</body>
</html>
childpage.html
<html>
...
<head><script src="script2.js" type="text/Javascript"></script></head>
...
</html>
注意:
parentpage.html,childpage.html,script1.js,script2.js 位于同一个域和同一位置
假设script1.js使用需要公开发布的JavaScript Object
。
由于浏览器/ UserAgent为页面中使用的每个额外Window Object
创建单独的iframe
,如果我们将Public JavaScript Object
附加/扩展到Window Object/Document Object
,我们就无法访问{{1}} 1}},它的最后希望似乎消失了!
有解决方案/解决方法吗?
答案 0 :(得分:2)
作为@Pointy建议,LocalStoage
跨框架共享数据的最佳替代方法是使用window.top
属性/成员/对象
但是,如mozilla dev docs所述,该属性仍然是 ReadOnly ,但我仍然想知道它是否在未来强制要求不将新的成员/字段添加到window.top
答案 1 :(得分:1)
可以通过postMessage
在多个域中共享多个iframe的数据