リンクがクリックされたときに jQuery を使用して呼び出される次のコード行があります。
alipayTransactionModalTrigger.click(function(e) {
e.preventDefault();
$.ajax({
url: "doSomething",
data: "p_locale=en-US",
success: function(dataOut){
if (dataOut == "hold") {
...do something...
} else {
//open a modal over parent window
alipayTransactionModal.dialog("open");
//also open new tab/window
var Payment = window.open("http://www.alipay.com", "Payment");
Payment;
Payment.focus();
}
}
});
return false;
});
ajax 呼び出しは、基本的にいくつかの値をチェックするだけです。サクセス コールは正常に行われていますが、それは問題ではありません。フレーム名を使用して、リンクが複数回クリックされたときに、新しく開いたウィンドウ/タブを強制的に更新しようとしています。これは IE 8、Chrome、および Firefox で機能します。ユーザーはリンクを何度でもクリックでき、新しいウィンドウが開くのは 1 回だけです。その後クリックすると、そのウィンドウがリロードされます。
ただし、これは IE 9 では発生しません。IE 9 は毎回新しいウィンドウ/タブを開きます。IE 9 でこの動作を強制する方法はありますか? または、これが IE 9 で発生している理由の説明だけでも素晴らしいでしょう。それはユーザー レベルの設定ですか? 私が知る限り、IE9 は、フレーム名を .xml で使用するときに、何を指しているのかわかりませんwindow.open()
。
私が言及すべきもう1つのこと.focus()
-2回目/3回目/などのクリックに常にウィンドウがフォーカスされるとは限りません(ブラウザーとブラウザーの設定に依存するようです)-しかし、私はすでにその質問をここ で行っています。
ありがとう