2

ファンシーボックスのiframe内にログインページ(ウェブサイトとは異なるドメインにあります)をロード(開いたら)する必要がある特定のウェブサイトにウェブパーツがあります。初めてサインインすると、そのiframe(ファンシーボックス)内に表示されますYES/NO オプションでアクセスを許可するメッセージ。だから、はい/いいえのボタンのいずれかをクリックして、ファンシーボックスのiframeを閉じてください。親ページにアクセスしようとしましたが、もちろんドメイン名の問題でアクセスできませんでした。私が望むのは、fancybox ポップアップ (iframe) を閉じることができるようにすることだけです。どんなアイデアでも大歓迎です。

4

2 に答える 2

5

私はそれを修正し、あなたが同様の状況にあった場合に解決策があなたを助けることを願っています。「postMessage」を使用して解決しました。解決策は次のとおりです。

1-私のウェブパーツに:私は次のJavaScriptを入れました:

window.addEventListener('message', function (event) {
        if (event.data == 'close') {                
            $.fancybox.close();
        }
    }, false);

2-私のウェブサイトで:

parent.postMessage("close", "*");

それが物事を明確にすることを願っています。:)

于 2012-11-16T13:06:56.757 に答える
1

iFrame とその親内のコードにアクセスできる場合は、使用できますwindow.postMessage(...)

IE8+ およびその他の現在のブラウザーはこれをサポートすると思います。

参照: https://developer.mozilla.org/en-US/docs/DOM/window.postMessage

于 2012-11-16T04:12:34.593 に答える