這聽起來很荒謬,但在某些情況下,我們需要在iframe
之間分享JavaScript Objects
。跨幀共享全局javascript對象
當我們試圖用localStorage
爲服務宗旨,有人說,某些瀏覽器可能不支持it.Even是否支持本地存儲,用戶可能已經減少存儲容量等等...
所以我的問題是,我們是否有跨iframe
下面的例子一個解決方案/產品分享JavaScript
對象可能讓我們在同一頁
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
。
由於瀏覽器/用戶代理創建頁面中使用的每個附加iframe
單獨Window Object
,我們不能訪問Public JavaScript Object
如果我們連接/它延伸到Window Object/Document Object
,它最後的希望似乎消失了!
有沒有解決方案/解決方法?跨越屬於多個域的多個iframe
將對象放在最上面的頁面上。然後,子框架可以引用'top.globalObject'來訪問它。 – Pointy
謝謝你!這可能工作。由於子頁面「iframe」在主頁面內,因此使用「top」作爲我們的通信接口聽起來是合理的。但我還沒有嘗試過呢!我會盡力確保它可以正常工作 – Nokia808Freak
只要所有頁面都來自同一個域,它應該可以正常工作。我曾參與一個廣泛使用這個框架進行協調的大型項目;在約會方式的瀏覽器中工作良好。 – Pointy