iframeからウィンドウを開きます
-
20-09-2019 - |
質問
これが状況です。私は、誰かが自分のウェブサイトにフォームにiframeを埋め込むサービスを提供しようとしています。最後に、Ajaxリクエストが再び入ってきたら、感謝のメモを付けて新しいウィンドウをポップしたいと思います。 window.openは機能しません。私の推測では、ウィンドウオブジェクトがiframeではなく埋め込まれたページに属し、その後クロスサイトスクリプトと見なされるためです。これを行う別の方法はありますか?
私が持っていたのは、iframeでターゲット= "_ new"でリンクを作成し、実際に別のウィンドウをポップするクリックをクリックできるということでした。このリンクを作成して、JavaScriptで「クリック」/トリガーできますか?
ユーザーが何を埋め込んでいるのかを制御できます。潜在的にスクリプトも含めることができますが、コードが少ないほど明らかに良いです。
何かテイク?
解決
window.openは機能しません、そして私の推測は、ウィンドウオブジェクトがそれを埋め込むページに属しているためです
私はそうは思わない。 window
あなたのスクリプトで見られるように、一般的に window
内部のドキュメントのオブジェクト iframe
.
より典型的には、a window.open
XMLHTTPREQUESTの完了は、ブラウザの組み込みポップアップブロッカーによってブロックされます。通常、ユーザーインタラクションに直接対応して新しいウィンドウを開くことのみを許可します(通常、 onclick
イベントハンドラー)。
このリンクを作成して、JavaScriptで「クリック」/トリガーできますか?
いいえ、そうでなければ、誰もがブロッカーを回避するためにそれをしているでしょう!
XHRを開始し、将来ポップアップが必要になるとわかっている場合は、今すぐ開いてXHRが戻るまでフィラーコンテンツを入れる必要があります。その時点で、その内容を更新できます。 。