私はJavaScriptを使用してボタンをクリックすると動的にIframeを作成し、ポップアップで表示します。
Iframeには、最初のステップから最後のステップまでユーザーを引き付けるフォームのシーケンスで構成される別のWebサイト(別のドメイン)がロードされています。
ユーザが最後のステップに入ると、Iframe内に閉じるボタンが表示されます。
閉じるボタンをクリックすると、Iframeを含むポップアップを閉じる(非表示にしたい)
可能でしょうか?お手伝いください。閉じるIframeを含むポップアップボタンをクリックしてIframeからボタンをクリック
答えて
を閉じる実装する必要があります。
ここでの問題は、同じ起点ポリシーが、スクリプトが他の起点を持つサイトのコンテンツにアクセスするのをブロックすることです。
実際には、原点は次の部分で構成されています。
origin:<protocol(http/https)>://<hostname>:<port number>/path/to/page.html
プロトコル、ホスト名とポート番号はあなたが原因同じに他のウェブサイトから1つのウェブサイトの内容にアクセスすることができないような場合をsame.Inされていない場合は、原点が異なると考えられています-originセキュリティポリシー。
あなたはのwindow.postMessage()を使用して親子通信を使用する必要があり、それを克服するために。
FYI:https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage。
Window.postMessage()メソッドは、クロスオリジン通信を安全に有効にします。
はあなたの親のウェブサイトは、example-parent.comであると仮定し、iframe内にあなたの負荷のウェブサイトexample-iframe.comとletは両方HTTPプロトコルを使用しています。 以下は、この問題をどのように解決したかです。
親ウェブサイトでは、次のように受信するメッセージのイベントリスナーを追加します。
window.addEventListener('message',receiveMessage,false);
function receiveMessage(event){
var origin = event.origin || event.originalEvent.origin;
if(origin.indexOf('http://example-iframe.com')>=0) // check if message received from intended sender
{
if(event.data=="intended message format") // check if data received is in correct format
{
// call functionality that closes popup containing iframe
}else{ // data received is malacious
return;
}
}else{ // message is not received from intended sender
return;
}
}
投稿者からのメッセージは、以下のとおりです。
ポストメッセージ構文:otherWindow.postMessage(message, targetOrigin, [transfer]);
function sendMessage(){
parent.postMessage('intended message format','http://example-parent.com');
}
使用のpostMessage()正しく、それ以外の場合には、クロスサイトスクリプティング攻撃につながる可能性があります。
私が正しく理解したように、iframeを閉じるchild(iframeの閉じるボタン)から関数を呼び出すことができます。あなたは、呼び出しによって、親
parent.myfunction() //call myfunction from parent
これを行うことができますし、親のコードで、私はこのsoultionに出くわした解決策を見つけるためのWebサーフィンの時間後ロジック
myfunction() {
iframe.hide() //or whatever
}
親サイトの原点とIframeに読み込まれたサイトが同じ場合にのみ動作します。 – Learnquick
はい、両方のウェブサイトにdocument.domain = 'same.domain'を入れてください –
- 1. ボタンを閉じるiFrameボタンをクリックする
- 2. モーダルiframeをクリックしてダイアログを閉じますか?
- 3. aspxページボタンを含むIframeから親ポップアップを閉じるには?
- 4. 親iframe内のボタンをクリックiframe内
- 5. ボタンをクリックしてiframeを表示
- 6. クリックしてポップアップボタンをクリック
- 7. ボタンをクリックしてコンテナを閉じる
- 8. ボタンをクリックしてウィンドウを閉じる
- 9. ボタンをクリックして閉じるアプリケーション
- 10. IFrameモードでFancyBoxを閉じる閉じるボタンを表示
- 11. ポップアップボタンをクリックして反応をクリック
- 12. ボタンをクリックすると変更するiFrame親をクリック
- 13. jqueryでボタンをクリックしてiframeを作成しますか?
- 14. iframeからjQuery UIダイアログを閉じる
- 15. featherlight.js iFrameからトリガーを閉じる
- 16. WebBrowserコントロールのiframeのボタンをクリック
- 17. ボタンをクリックしてiFrameをフルスクリーンにする方法は?
- 18. ボタンをクリックしてiframeにコンテンツを表示する - javascript?
- 19. iframeをクリックしてボタンを表示させる
- 20. iframeターゲットを変更して1つのボタンからターゲットdivを閉じる
- 21. 閉じるWinFormボタンをクリックします。
- 22. Googleサービスのボタンをクリックしてシミュレーションするブックマークレットiframe
- 23. iframeをクリックしてポップアップを開く
- 24. iframeで自動クリック
- 25. IOSのボタンをクリックするとiframeがスクロールしません
- 26. Youtubeビデオポップアップ画像クリックJQuery iframeを使用してクリック
- 27. ボタンをクリックするとiFrameのスクリーンショットを撮る
- 28. iframe閉じるjava selenium webdriver
- 29. iFrameを含むjQueryモーダルダイアログを閉じるにはどうしたらいいですか?
- 30. ボタンをクリックしてshinyWidgetsドロップダウンボタンを閉じる
また、イベントリスナーがネットワーク攻撃の原因になっている場合は、受信したメッセージの割合を確認することをお勧めします。 – nak