Maison > interface Web > js tutoriel > Comment empêcher l'onglet Chrome de clignoter lors de l'ouverture des onglets d'arrière-plan en JavaScript ?

Comment empêcher l'onglet Chrome de clignoter lors de l'ouverture des onglets d'arrière-plan en JavaScript ?

Linda Hamilton
Libérer: 2024-11-07 13:02:02
original
406 Les gens l'ont consulté

How to Prevent Chrome Tab Flashing When Opening Background Tabs in JavaScript?

Simulation de l'ouverture d'un onglet en arrière-plan pour éviter le clignotement de Chrome

En JavaScript, l'ouverture d'un nouvel onglet tout en gardant le focus sur l'onglet actuel peut être obtenue en utilisant le code suivant :

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

Cependant, cette méthode provoque un bref scintillement du nouvel onglet dans Chrome. Pour éviter ce problème, envisagez d'utiliser l'approche suivante :

Simulation de combinaisons de touches

Chrome prend en charge l'ouverture des onglets en arrière-plan via des combinaisons de touches spécifiques. Vous pouvez simuler ces combinaisons à l'aide de JavaScript et ouvrir par programmation des onglets d'arrière-plan.

Le code ci-dessous montre la simulation d'un événement de clic Ctrl sur un element :

function openNewBackgroundTab(){
    var a = document.createElement("a");
    a.href = "http://www.google.com/";
    var evt = document.createEvent("MouseEvents");
    // The tenth parameter of initMouseEvent sets the Ctrl key
    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

En appelant cette fonction, vous pouvez ouvrir une nouvelle page dans un onglet d'arrière-plan sans provoquer de scintillement gênant.

Remarque : Cette approche a été testé uniquement dans Chrome.

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!

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