Eコマースサイトの顧客にPaypalのウェブサイト経由で支払うように指示したい。顧客が現在のWebページの現在の状態を失わないように、新しいタブ/ウィンドウで支払いを行うようにしたいと思います。
Paypalウィンドウをブロックせずに開くために、target = "_blank"のアンカーを使用しています。事実を除いて完全に機能していますが、window.close()
を介して開かれなかったウィンドウではwindow.open()
が機能しないため、Paypalの支払いが完了した後に閉じることができません。
ポップアップとしてブロックされず、後でJSで閉じることができるようにするにはどうすればよいですか?
Paypalウィンドウをブロックせずに開くために、target = "_blank"のアンカーを使用しています。
これは1つのオプションですが、ユーザーが生成したイベント(click
など)のハンドラー内からwindow.open
を呼び出す限り、ポップアップウィンドウを開くことができます。したがって、リンクのclick
ハンドラー内からwindow.open
を呼び出すようにしてください(その後、リンクを閉じることができます)。最新のポップアップブロッカー(過去数年間のもの)は、ユーザーイベントによってトリガーされないポップアップをブロックしますが、トリガーされるポップアップは許可します。
HTML:
<p><a href="#" id="target">Click to open popup</a>; it will close automatically after five seconds.</p>
JavaScript:
(function() {
document.getElementById("target").onclick = function() {
var wnd = window.open("http://stackoverflow.com");
setTimeout(function() {
wnd.close();
}, 5000);
return false;
};
})();