5

他の人のページに読み込むiframeがあります。iframeを閉じたら、親ページを更新したいと思います。

私は現在、ここで説明されているものと同様のハッシュハックを採用しています:iframeクロスドメインを閉じる

ただし、この方法ではIE9でセキュリティの問題が発生するため、より良い解決策またはIEの回避策を探しています。

何か案は?

関連:親ページのアンロード更新時のIFrame

4

1 に答える 1

8

信頼できる唯一の方法は、クロスドメイン通信のために最新のブラウザでpostMessageを使用することだと思います。テストはしていませんが、このコード部分を確認してください...もちろん、これは「他の人のページ」が何らかの形で変更可能である場合にのみ機能します。

だからあなたのページがあなたがするなら内部:

var parent = window.parent;
if (parent && parent.postMessage) {
  parent.postMessage("closed");
}

他の人のページ:

window.onmessage = function(event) {
  if (event.data === "closed") {
    location.reload();
  }
};
于 2012-04-23T16:58:03.180 に答える