7

e コマース サイトの顧客に Paypal の Web サイト経由で支払うように指示したいと考えています。顧客が閲覧中の Web ページの現在の状態を失うことがないように、支払いを新しいタブ/ウィンドウで実行したいと考えています。

Paypal ウィンドウがブロックされずに開くようにするために、target="_blank" のアンカーを使用しています。事実を除いて、これは完全に機能しています.Paypalの支払いが完了した後は閉じることができませwindow.close()window.open().

ポップアップとしてブロックされず、後でJSで閉じることができるようにするにはどうすればよいですか?

4

1 に答える 1

27

Paypalウィンドウをブロックせずに開くために、target ="_blank"のアンカーを使用しています。

window.openこれは1つのオプションですが、ハンドラー内からユーザー生成イベント(など)を呼び出す限り、clickポップアップウィンドウを開くことができます。したがって、リンクのハンドラーwindow.open内から呼び出すようにしてください(そうすれば、リンクを閉じることができます)。click最新のポップアップブロッカー(過去数年間のもの)は、ユーザーイベントによってトリガーされないポップアップをブロックしますが、トリガーされるポップアップは許可します。

実例| ソース

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;
  };

})();
于 2012-05-22T12:52:28.760 に答える