Heim > Web-Frontend > js-Tutorial > Wie öffne ich einen neuen Tab im Hintergrund, ohne den Fokus zu wechseln?

Wie öffne ich einen neuen Tab im Hintergrund, ohne den Fokus zu wechseln?

Mary-Kate Olsen
Freigeben: 2024-11-10 00:26:02
Original
892 Leute haben es durchsucht

How to Open a New Tab in the Background Without Switching Focus?

Öffnen eines neuen Tabs im Hintergrund ohne Fokuswechsel

Bei dieser Frage möchte der Benutzer einen neuen Tab in einem separaten Tab öffnen ohne dass es zu einer Fokusverlagerung auf die neue Registerkarte kommt. Sie demonstrieren einen Versuch mit den Methoden open() und focus(), stoßen jedoch auf ein kurzes Aufblitzen des neuen Tabs, bevor sie zum aktuellen Tab in Chrome zurückkehren.

Die bereitgestellte Antwort stellt jedoch eine alternative Lösung mithilfe von Ereignissen dar Simulation, um dieses Problem zu umgehen.

Benutzerdefinierter Ereignisversand

Der Schlüssel zum Erreichen dieses Verhaltens liegt in der dynamischen Erstellung eines Element hinzufügen und dessen href-Attribut der gewünschten URL zuweisen. Anschließend wird ein Ereignis (in diesem Fall ein Mausklick) erstellt und mit bestimmten Parametern initialisiert, einschließlich des Tastenmodifikators „Strg“. Dies emuliert das Gedrückthalten der „Strg“-Taste beim Klicken auf einen Link, was das Standardverhalten zum Öffnen eines neuen Tabs im Hintergrund ist.

Implementierung

Der bereitgestellte Code veranschaulicht diese Technik:

function openNewBackgroundTab(){
    var a = document.createElement("a");
    a.href = "http://www.google.com/";
    var evt = document.createEvent("MouseEvents");
    //the tenth parameter of initMouseEvent sets ctrl key
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0,
                                true, false, false, false, 0, null);
    a.dispatchEvent(evt);
}
Nach dem Login kopieren

Fazit

Durch die Nutzung der Ereignissimulation öffnet diese Lösung effektiv einen neuen Tab im Hintergrund, ohne den Fokus zu beeinträchtigen die aktuelle Registerkarte. Diese Technik ist besonders nützlich für Browsererweiterungen oder Bookmarklets, bei denen es für ein nahtloses Benutzererlebnis entscheidend ist, den Fokus auf der aktuellen Registerkarte zu behalten.

Das obige ist der detaillierte Inhalt vonWie öffne ich einen neuen Tab im Hintergrund, ohne den Fokus zu wechseln?. 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