5

メインWindowが子 Iframe にメッセージを送信したい場合 -

子の Iframe url を現在のurl+ ハッシュ (データを表す) に設定します。

しかし、iframe はどのようにして新しいデータを取得するのでしょうか?

4 つのオプションがあります: (新しい APIpostMessaageや XDM ライブラリについて話しているわけではありません)

  • 子は新しいハッシュをポーリングしています ( setTimeout)

  • メイン ウィンドウは iframe のサイズを変更できます (iframe は登録する必要がありますonResize) 。

  • OnHashChange イベントは iframe で使用できます

  • 「onload」を使用してメッセージ(JavaScript関数!)を「SameDomainIframe」に送信するプロキシIframeを破棄/作成するparent.frames['samedonain'].sendData(...)

ここに私の質問があります:(オプション#2(サイズ変更イベント)に関して):

この記事によると:

Firefox、Opera、Google Chrome、および Safari では、ブラウザ ウィンドウのサイズが変更された場合にのみ onresize イベントが発生します。Internet Explorer では、ブラウザ ウィンドウまたは要素のサイズが変更されると、onresize イベントが発生します。

質問 :

このサイズ変更のためのクロスブラウザソリューションはありますか?

ユーザーがブラウザのサイズを変更したり、iframe がデータを再読み込みしたりする状況は望ましくありません。

メッセージを iframe に送信し、手動でサイズを変更した場合にのみ、データを読み取りたい

4

1 に答える 1

2

iframe 用のクロス ブラウザ プロキシ スクリプトである porthole を使用できますが、他の iframe の受信側で小さなプロキシ ファイルをホストできる必要があります。その後、ブラウザーやドメインをまたがって、ある iframe から別の iframe に情報とイベントを渡すことができます。

http://ternarylabs.github.io/porthole/

于 2013-10-13T04:32:31.607 に答える