web-dev-qa-db-fra.com

Ouvrez un nouvel onglet avec javascript mais restez sur l'onglet actuel en utilisant javascript

Est-il possible d'ouvrir un nouvel onglet dans le navigateur en utilisant la fonction window.open("http://www.google.com");, mais l'ouvrir en arrière-plan et rester sur la page actuelle? Lorsque je clique sur un lien hypertexte, la page sera la même, mais le lien s'ouvrira dans un nouvel onglet ...

J'essaie cette solution mais cela ne fonctionne que dans Firefox link mais je veux le faire dans tous les navigateurs.

18
Panchotiya Vipul

Comme confirmé dans les deux: source1source2

il n'y a pas de fonction qui fonctionne dans tous les navigateurs. Il existe des options pour les popups, mais ce n'est pas une bonne idée car beaucoup utilisent des bloqueurs de popups.

Pour réitérer la première source, il s'agit d'un paramètre de navigateur permettant à chaque utilisateur de décider d'ouvrir ou non un nouvel onglet en arrière-plan. Et comme les utilisateurs le décident dans les paramètres de leur navigateur, vous obtiendrez des expériences incohérentes.

6
Pippin

Essayez de suivre peut être utile

<button id="open">open</button>

document.getElementById('open').onclick = function() {
    window.open('http://google.com');   
};

Remarque: Vous ne pouvez pas ouvrir les onglets en arrière-plan en utilisant javascript car cela est défini dans les préférences de l'utilisateur dans about: config, sur lequel vous n'avez aucun contrôle. Le paramètre dans about: config dans Firefox est:

Cela n'est possible que si vous générez l'événement Click avec la touche de contrôle déjà pressée dynamiquement.

par exemple. Ctrl + clic ouvrira toujours un nouvel onglet et vous restera sur l'onglet actuel.

browser.tabs.loadDiverredInBackground = true

2
Ashwin Parmar