ホームページ  >  記事  >  ウェブフロントエンド  >  Flash を使用せずに JavaScript からバックグラウンドで新しいタブを開くにはどうすればよいですか?

Flash を使用せずに JavaScript からバックグラウンドで新しいタブを開くにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-07 14:47:02745ブラウズ

How Can I Open a New Tab in the Background from JavaScript Without a Flash?

現在のタブを表示したまま、バックグラウンドで新しいタブを開くことはできますか?

JavaScript を使用している場合、開くことができます。次のコードを使用して、現在のタブに焦点を当てたまま、別のタブに新しいページを表示します:

open('http://example.com/');
focus();

ただし、この方法では、Chrome で現在のタブに戻る前に、新しいタブが一時的に点滅する可能性があります。 。この問題を回避するには、より洗練された方法が必要です。

解決策: キー イベントのシミュレート

この解決策には、キーの組み合わせ (Ctrl キーなどのクリック) をシミュレートすることが含まれます。動的に生成される 背景タブを作成する要素。次のコードはこれを実現します。

function openNewBackgroundTab(){
    var a = document.createElement("a");
    a.href = "http://www.google.com/";
    var evt = document.createEvent("MouseEvents");
    // Simulate Ctrl key press
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
    a.dispatchEvent(evt);
}

このメソッドは、 を作成することで機能します。要素を使用して、その href 属性を目的の URL に設定し、シミュレートされた「Ctrl」キーを使用してクリック イベントを送出します。これにより、現在のタブのフォーカスに影響を与えることなく、背景タブが開かれます。

以上がFlash を使用せずに JavaScript からバックグラウンドで新しいタブを開くにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。