web-dev-qa-db-ja.com

JavaScriptで新しいタブを開きますが、JavaScriptを使用して現在のタブにとどまります

window.open("http://www.google.com");関数を使用してブラウザで新しいタブを開くことはできますが、バックグラウンドで開いて現在のページに残しますか?ハイパーリンクをクリックすると、ページは同じになりますが、リンクは新しいタブで開きます...

私はこの解決策を試してみましたが、Firefoxでのみ動作します link しかし、私はすべてのブラウザでやりたいです。

18

両方で確認済み: source1source2

すべてのブラウザで機能する機能はありません。ポップアップにはオプションがありますが、多くはポップアップブロッカーを使用するため、これは良い考えではありません。

最初のソースを繰り返しますが、バックグラウンドで新しいタブを開くかどうかを決定するのは、各ユーザーのブラウザー設定です。また、ユーザーがブラウザ設定でこれを決定するため、一貫性のないエクスペリエンスが得られます。

6
Pippin

以下を試してみてください

<button id="open">open</button>

document.getElementById('open').onclick = function() {
    window.open('http://google.com');   
};

注: javascriptを使用してバックグラウンドでタブを開くことはできません。これは、about:configのユーザー設定で設定されているため、制御できません。 Firefoxのabout:configの設定は次のとおりです。

すでに押されたコントロールキーを動的に使用してクリックイベントを生成する場合のみ可能です。

例えばCtrl +クリックは常に新しいタブを開き、現在のタブに留まります。

browser.tabs.loadDivertedInBackground = true

2
Ashwin Parmar