Heim >Web-Frontend >js-Tutorial >Wie kann ich in JavaScript ohne Flash einen neuen Tab im Hintergrund öffnen?

Wie kann ich in JavaScript ohne Flash einen neuen Tab im Hintergrund öffnen?

Barbara Streisand
Barbara StreisandOriginal
2024-11-07 14:47:02808Durchsuche

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

Kann ich einen neuen Tab im Hintergrund öffnen, während ich auf dem aktuellen Tab bleibe?

Beim Arbeiten mit JavaScript ist das Öffnen möglich Erstellen Sie mithilfe des folgenden Codes eine neue Seite in einem anderen Tab, während Sie sich auf den aktuellen Tab konzentrieren:

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

Dieser Ansatz kann jedoch dazu führen, dass der neue Tab kurzzeitig aufleuchtet, bevor Sie zum aktuellen Tab in Chrome zurückkehren . Um dieses Problem zu vermeiden, ist eine ausgefeiltere Methode erforderlich.

Lösung: Schlüsselereignisse simulieren

Diese Lösung beinhaltet die Simulation einer Tastenkombination (z. B. Strg-Klick) auf einem dynamisch generiertes Element zum Erstellen einer Hintergrundregisterkarte. Dies wird durch den folgenden Code erreicht:

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);
}

Diese Methode erstellt ein Element, setzt sein href-Attribut auf die gewünschte URL und löst dann ein Klickereignis mit simulierter „Strg“-Taste aus. Dies führt dazu, dass ein Hintergrund-Tab geöffnet wird, ohne dass sich dies auf den Fokus des aktuellen Tabs auswirkt.

Das obige ist der detaillierte Inhalt vonWie kann ich in JavaScript ohne Flash einen neuen Tab im Hintergrund öffnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn