1. ホーム
  2. javascript

[解決済み] jQueryでiframeを再読み込みする

2022-04-26 20:52:54

質問

あるページに2つのiframeがあり、一方がもう一方に変更を加えるのですが、更新するまでもう一方のiframeに変更が表示されません。このiframeをjQueryで簡単に更新する方法はありますか?

<div class="project">
  <iframe id="currentElement" class="myframe" name="myframe" src="http://somesite.com/something/new"></iframe>
</div>

解決方法は?

iframeが別ドメインでなければ、以下のような方法が考えられます。

document.getElementById(FrameID).contentDocument.location.reload(true);

しかし、iframeが別ドメインにあるため、iframeの contentDocument プロパティは 同一生成元ポリシー .

しかし、iframeのsrc属性を自分自身に設定することで、iframeの親ページでコードが実行されている場合、クロスドメインiframeを強制的にリロードするようにハックすることができます。このように。

// hackishly force iframe to reload
var iframe = document.getElementById(FrameId);
iframe.src = iframe.src;

別のiframeからiframeを再読み込みしようとしている場合は、運が悪いとしか言いようがありません。 その ではない が可能です。