11480 sujets

JavaScript, DOM et API Web HTML5

Pages :
Bonjour,
J'aimerai trouver un script JS pour ouvrir un lien (comme http://google.com) dans un nouvel onglet sans window.open() car Firefox les bloque.
Je veux utiliser JS car cela sera dans une fonction.

Merci beaucoup !
Modifié par js_html (27 Oct 2020 - 14:10)
Moi, en tout cas, ça bloque (même
window.open("http://google.com")
).

Mais dans tous les cas, j'aimerai un script JS sans window.open().
Peut-être window.location.href="???" ou autre chose mais qui ouvre dans une nouvelle fenêtre et qui n'utilise pas window.open.

Merci beaucoup !
ok mais c'est quand même bizarre de pas vouloir corriger ton problème et de vouloir trouver une alternative. Si window open marche pas chez toi, c'est parce que y'a un truc qui cloche autre part.

Sinon tu n'as qu'a créer un lien cacher, et simuler un .click() dessus.
JENCAL a écrit :
Sinon tu n'as qu'a créer un lien cacher, et simuler un .click() dessus.

Ça ne l'ouvre pas dans une nouvelle fenêtre. Comment faire ?


Et le problème, en fait, c'est qu'il faut autoriser les fenêtres pop-up, ce qui est contraignant. upload/1603806185-81417-firefoxbloquewindow.open.png

Si vous voyez comment m'aider (pour les pop-up ou .click() ou window.location.href="?????"), merci !
Oui, je suis d'accord, c'est bien mais du coup, comment faire ?

.click() ça fonctionne sur un a mais avec target="blank" dans le a, ça rebloque (pop-up toujours).

Avez-vous une idée pour m'aider ?

Merci !
Non il est impossible de ne pas avoir ce bloqueur de popup si vous l'avais, il faut le désactiver directement sur la navigateur.
Si, avec windows open blank, ou click sur <a href> blank aussi.

Mais il faut désictiver le bloqueur de popup. sinon n'importe quel site pourrait t'ouvrire 10 000 000 000 00 00 0000 00 0 00 0 0 0 0 00 0 00 00000 popup sans que tu puisse rien faire. sauf si tu désactive le bloqueur de popup.
js_html a écrit :

.click() ça fonctionne sur un a mais avec target="blank" dans le a, ça rebloque (pop-up toujours).

et window.open ça bloque aussi
D'accord merci.
Pour moi, je sais que ça fonctionne mais pour le mettre en ligne, ça ne fonctionnera pas.

Merci !
après, essaye de mettre ton window open derrière un button par exemple peut être que ça peut passer.
<button onclick="test()">ok</button>
function test(){
  window.open("www.google.fr", "blank");
}
Car d'après ce que je comprend il faut une "action" utilisateur pour eviter le côté "bloqueur" de popup. si tu fais un windows open seul ça marchera pas et la sécurité du nav. va l'empecher.
<button onclick="test()" id="cool">ok</button>
function test(){
  window.open("www.google.fr", "_blank");
}


Le bouton, c'est une bonne idée mais
cool.click()
et
test()
ça bloque pop-up. Ça fonctionne seulement en cliquant sur le bouton du coup.
Ça ne va donc pas dans une fonction mais je suis obligé de faire sans apparemment.

Merci beaucoup !
Modifié par js_html (31 Oct 2020 - 19:12)
js_html a écrit :
Ça fonctionne seulement en cliquant sur le bouton du coup


Voila, c'est ce que je dis. le popup message blocked apparaît uniquement s'il n'y a pas d'action de click de la part de l'utilisateur.
Modifié par JENCAL (27 Oct 2020 - 15:26)
Re-bonjour,
J'ai un nouveau problème :

function start(URLlist){
	for (var i = 0; i < list.length; i++) {
		window.open(URLlist[i], 'blank');
	}
}

URLlist est une liste d'URLs.
J'aimerai que chaque lien s'ouvre dans un nouvel onglet mais ils s'ouvrent tous dans le même nouvel onglet donc il reste seulemnt le dernier de la liste.
Comment faire pour qu'ils s'ouvrent chacun dans un nouvel onglet ?
Merci beaucoup !
Bonjour,
Personne n'a d'idées pour ça ?

js_html a écrit :
Re-bonjour,

function start(URLlist){
	for (var i = 0; i &lt; list.length; i++) {
		window.open(URLlist[i], '_blank');
	}
}

URLlist est une liste d'URLs.
J'aimerai que chaque lien s'ouvre dans un nouvel onglet mais ils s'ouvrent tous dans le même nouvel onglet donc il reste seulement le dernier de la liste.
Comment faire pour qu'ils s'ouvrent chacun dans un nouvel onglet ?
Merci beaucoup !

Modifié par js_html (07 Dec 2020 - 15:47)
Meilleure solution
Pages :