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
Freigeben: 2024-11-07 14:47:02
Original
830 Leute haben es durchsucht

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();
Nach dem Login kopieren

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);
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage