ブラウザーが新しいウィンドウを開くか新しいタブを開くかを制御できないことを認識しているため、これには解決策がない可能性があります。
問題は、基本的に次のようなものを実行することです。
function runCommand() {
//...
window.open(url);
}
これは、ユーザーが特別なキーを押すかクリックすると、時々実行されます。これで問題なく動作し、ユーザーのブラウザ設定に基づいて新しいウィンドウまたはタブが開きます。偉大な。
問題は、私にもいくつかのコードがあることです:
if (x.property) runCommand();
これにより、常に新しいウィンドウでURLが開きますが、同じページで別のときに使用した場合でもrunCommand
、それがユーザーの設定であればタブが使用されます。
最初は、ページが完全にロードされていないことに関係しているのではないかと思ったので、ラップして、高い数値 (5 秒など)document.ready
を使用してみました。setTimeout()
それを行った後でもrunCommand()
、後で新しいタブを開いても、最初の実行時に新しいウィンドウが開きます。誰かがこの動作を経験したか、それを修正する方法を知っていますか?
編集:問題を紹介するフィドルを作成しました。ポップアップを許してください: http://jsfiddle.net/csPGU/