Maison >interface Web >js tutoriel >Comment puis-je ouvrir un nouvel onglet en arrière-plan à partir de JavaScript sans 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();
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); }
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!