3

これはばかげているように聞こえるかもしれませんが、共有する必要がある状況がいくつかありJavaScript Objectsますiframe

目的に合わせて使おうとするlocalStorageと、ブラウザによっては対応していない可能性があるとのこと
。 /JavaScriptオブジェクトを共有する代替案iframe 以下の例では、同じページに移動する可能性があります

親ページ.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 ObjectWindow Object/Document Object

解決策/回避策はありますか?

4

2 に答える 2

2

@Pointyが提案したように、LocalStoageフレーム間でデータを共有するための最良の代替手段は、window.topプロパティ/メンバー/オブジェクトを使用することです。

それでも、mozilla dev docsに記載されているように、プロパティはReadOnlyですが、将来、新しいメンバー/フィールドを追加しないように厳密に強制されるのではないかと思います。window.top

参照:Mozilla Dev Docs

于 2012-10-17T07:02:24.780 に答える
1

複数のドメインに属する複数の iframe 間でデータを共有するには、postMessage を使用します。

于 2012-10-16T13:44:11.420 に答える