-1

stackoverflowで別のスレッドを見つけました:window.openポップアップがクリックイベント中にブロックされます。そして、一番の答えは問題を解決しているようです。しかし、私はJavaScriptをあまり知りません。

答えに従ってコードを書き直すのを手伝ってもらえますか?

1)呼び出すwindow.open直前に呼び出し$.ajax、ウィンドウ参照を保存します。

var newWindow = window.open(...);

2)保存されたウィンドウ参照のコールバックセットロケーションプロパティ:

newWindow.location = url;

多分それはすでに明示的な方法でです。しかし、コードを書き直す方法がわかりません。

4

1 に答える 1

1

リンク先の質問のコンテキストを念頭に置いて、次のようになります。

var newUrl = 'http://example.com';
var newWindow = window.open('', '_blank');
$.ajax({
  type: "POST",
  url: form_url,
  dataType: 'json',
  data: form_data,
  success: function(data) {
    newWindow.location = newUrl;
  }
});

もちろん、$.ajax要件に合わせて呼び出し (具体的には URL とデータ) を変更する必要があります。

于 2012-07-26T13:21:04.683 に答える