3 votes

Ouvrir plusieurs onglets dans le même navigateur par JavaScript

Je voudrais ouvrir plusieurs onglets dans le navigateur principal : Voici mon code :

    function openSM()
    {
        window.open("http://www.google.com","_blank");
        window.open("http://www.yahoo.com","_blank");
        window.open("http://www.bing.com","_blank");
    }
...
<div onClick="openSM()"> This is a div </div>

Mais seule la première fenêtre s'ouvre dans un nouvel onglet, les autres fenêtres s'ouvrent dans un nouveau navigateur. Que dois-je faire pour ouvrir toutes les pages dans le même navigateur ?

0 votes

Pourquoi voulez-vous faire cela ?

1 votes

De quel navigateur s'agit-il ? J'imagine que les bloqueurs de fenêtres pop-up empêchent d'en ouvrir plus d'une dans la plupart des navigateurs.

4voto

plalx Points 14938

Malheureusement, vous n'avez aucun contrôle sur ce point et vous ne pourrez donc pas forcer l'ouverture d'un nouvel onglet de manière programmatique. C'est le navigateur qui contrôle cette fonctionnalité, qui peut généralement être configurée par les utilisateurs.

Il ne peut être forcé que si vous avez le contrôle de la configuration du navigateur du client et/ou si vous pouvez installer des extensions dans le navigateur du client (ce qui est souvent le cas dans les intranets).

2voto

Tester Points 529

J'avais fait un travail similaire, mais je n'ai pas réussi à utiliser un simple javascript sur la page. J'ai donc créé une extension et le même code a fonctionné, mais il faut le modifier un peu :

    var urls = ["http://www.google.com", "http://www.yahoo.com", "http://www.bing.com"];

    var interval = setInterval(function() {
        var url = urls.pop();
        if(!!url) {
            window.open(url);
        }
        else {
            clearInterval(interval);
        }
    }, 100);

J'espère que cela fonctionnera pour vous aussi.

0 votes

C'est la SEULE solution qui devrait être considérée comme correcte

0 votes

@BenPetersen Cette solution est tout simplement erronée. Si je configure mon navigateur pour ouvrir de nouvelles fenêtres plutôt que des onglets, window.open ouvrira une nouvelle fenêtre du navigateur, pas un onglet. Comme je l'ai dit, il n'y a rien que vous puissiez faire à moins que vous n'ayez le contrôle sur la configuration du navigateur du client, ce qui n'est pas le cas sur Internet (mais pourrait l'être dans les Intranets).

0 votes

Ce n'est pas parce que ce code ouvre de nouveaux onglets dans votre navigateur que cette solution fonctionne selon la question.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X