13

javascript を使用してウェブサイトで銀行支払い用の新しいタブを開きたいのですが、メイン ウィンドウから移動する必要はありません。

ユーザーが銀行支払いから戻り URL に戻ったときに、別のウィンドウからの戻り URL の返信を検出したい (可能であれば) か、トランザクションが完了したことをメイン ウィンドウに通知し、データベースをチェックする必要があります。アップデート用。

ロードされたセッションなど、いくつかの Web サイトでこの動作を見てきましたpopup->login->popup closes->main window reloads。問題は、このメソッドが何と呼ばれているのかわからないため、探しているキーワードがわからないことです。

私が正確に必要としているのは、このメソッドの名前、またはそれがどのように行われるかです(javascriptまたは何かの特定のキーワードとして)

前もって感謝します

4

3 に答える 3

27

を使用して新しいページを開きwindow.open()、ウィンドウが閉じているかどうかを定期的に確認できます。開いたウィンドウへの参照は によって返されwindow.open()、 を使用してウィンドウが閉じられたかどうかを確認できますwindowHandle.closed

btn.onclick = () => {
  const win = window.open(
      'http://www.stackoverflow.com',
      'Secure Payment');
  const timer = setInterval(() => {
    if (win.closed) {
      clearInterval(timer);
      alert('"Secure Payment" window closed!');
    }
  }, 500);
}

この短いデモも参照してください。

詳細window.open()とベスト プラクティスについては、MDNを参照してください。

于 2013-06-18T15:03:35.913 に答える
3

ポップアップを閉じる前に、opener.someFunction()それを開いたウィンドウで関数を呼び出してみてください。ユーザーが最初のウィンドウを閉じた場合、ユーザーが別のサイトに移動した場合、または何らかの理由で 2 つのウィンドウが異なるドメインにある場合、これは失敗することに注意してください。

于 2013-06-18T14:33:14.627 に答える