1
votes

Ouvrez plusieurs URL dans le même nouvel onglet javascript

J'écris un javascript ouvre plusieurs URL sur le même onglet. Je sais ouvrir un lien dans un nouvel onglet.

window.open(urlList[0],"_blank")

Cependant, mon client souhaite que j'ouvre un seul onglet avec plusieurs URL. Imaginez que vous ayez un javascript

var urlList=['https://www.google.com', 'www.youtube.com']

Je veux ouvrir ensuite un par un sur les mêmes nouveaux onglets avec un intervalle de 10secs. D'abord, je le fais

window.open(your_url,"_blank")

Mais si je fais toujours cela pour le second, cela ouvre un autre nouvel onglet, pas sur l'ancien. Est-ce que quelqu'un sait comment spécifier l'onglet ouvert?


0 commentaires

3 Réponses :



0
votes

ceci est un exemple de code.

    async function navigate() {
 var _window = window.open("","_blank")
 var urlList=['https://www.google.com', 'https://www.youtube.com'];   
 for (var url of urlList) {     
    _window.location.replace(url);
    await sleep(10000);
 }   
}

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

J'espère que cela vous aidera.


0 commentaires

0
votes

Je ne sais pas pourquoi vous voudriez faire ça. Ne fais pas ça. C'est super ennuyeux. Mais si vous devez le faire, ce qui suit fonctionne et a été testé en chrome (et uniquement en chrome)

Quelques des choses à noter:

  1. Cela ne contournera pas les bloqueurs de fenêtres publicitaires. Les utilisateurs doivent l'autoriser .
  2. Cela n'utilise pas techniquement l'onglet " même ". L'ancien est fermé et le nouvel utilisateur est ouvert assez rapidement.

var myWindow;

let urls = ["https://stackoverflow.com", "https://stackexchange.com/"];
let counter = 0;
let openWindow;

function openWin(url) {
    openWindow = window.open(url, "_blank");
}

function closeWin(){
    openWindow.close();
}

setInterval(function(){
    if(openWindow) closeWin();
    openWin(urls[counter]);
    counter++;
}, 10000)


0 commentaires