Maison > interface Web > js tutoriel > le corps du texte

Comment puis-je ouvrir un nouvel onglet en arrière-plan à partir de JavaScript sans Flash ?

Barbara Streisand
Libérer: 2024-11-07 14:47:02
original
799 Les gens l'ont consulté

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

Puis-je ouvrir un nouvel onglet en arrière-plan tout en restant sur l'onglet actuel ?

Lorsque je travaille avec JavaScript, il est possible d'ouvrir une nouvelle page dans un autre onglet tout en restant concentré sur l'onglet actuel à l'aide du code suivant :

open('http://example.com/');
focus();
Copier après la connexion

Cependant, cette approche peut provoquer un flash momentané du nouvel onglet avant de revenir à l'onglet actuel dans Chrome . Pour éviter ce problème, une méthode plus sophistiquée est nécessaire.

Solution : simulation d'événements clés

Cette solution consiste à simuler une combinaison de touches (par exemple, clic Ctrl) sur un généré dynamiquement élément pour créer un onglet d’arrière-plan. Le code suivant accomplit cela :

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);
}
Copier après la connexion

Cette méthode fonctionne en créant un élément, en définissant son attribut href sur l'URL souhaitée, puis en envoyant un événement de clic avec la touche "Ctrl" simulée. Cela entraîne l'ouverture d'un onglet en arrière-plan sans affecter le focus de l'onglet actuel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal