Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fenêtres popup et bloqueurs de popups

2 réponses
Avatar
Hamiral
Bonjour,

Dans une application web que je développe, il arrive que des popups
s'ouvrent, principalement par window.open().

Seulement, souvent les clients ont des problèmes avec ces popups car ils
utilisent un bloqueur de popup, la plupart du temps à leur insu (ils ne
sont pas sensés y connaître quoi que ce soit).

Donc, je cherche actuellement un moyen de détecter qu'une popup a été
bloquée, pour pouvoir afficher un message à l'utilisateur, lui indiquant
comment circonvenir ce problème, ou alors pour faire d'une autre manière le
traitement que devait effectuer la popup en question.

Je pensais vérifier la valeur de la référence retournée par window.open(),
mais je ne pense pas que ça soit suffisant : certains bloqueurs de popups
risquent de complètement bloquer le script incriminé. Auriez-vous d'autres
pistes pour résoudre ce problème ?

Merci d'avance !

--
Hamiral

2 réponses

Avatar
O.L.
Le 11/10/2006, Hamiral a dit :
Bonjour,

Dans une application web que je développe, il arrive que des popups
s'ouvrent, principalement par window.open().

Seulement, souvent les clients ont des problèmes avec ces popups car ils
utilisent un bloqueur de popup, la plupart du temps à leur insu (ils ne
sont pas sensés y connaître quoi que ce soit).

Donc, je cherche actuellement un moyen de détecter qu'une popup a été
bloquée, pour pouvoir afficher un message à l'utilisateur, lui indiquant
comment circonvenir ce problème, ou alors pour faire d'une autre manière le
traitement que devait effectuer la popup en question.

Je pensais vérifier la valeur de la référence retournée par window.open(),
mais je ne pense pas que ça soit suffisant : certains bloqueurs de popups
risquent de complètement bloquer le script incriminé. Auriez-vous d'autres
pistes pour résoudre ce problème ?

Merci d'avance !

complètement bloquer le script incriminé
M'étonnerait que les bloqueurs de popups s'immiscent autant que ça dans

les javascripts (à part pour bloquer window.open). Met ton script dans
un try{/*ton code*/} catch(e) {/*probleme*/}, comme ça s'il y a une
erreur qui survient tu pourra la détecter et la traiter.

Sinon je crois qu'il existe une propriété 'closed' pour ton objet
window retourné, peut être que ça pourra t'aider.

--
Olivier Ligny
Créateur web free-lance / www.cyber-tamtam.net

Avatar
ASM

Donc, je cherche actuellement un moyen de détecter qu'une popup a été
bloquée, pour pouvoir afficher un message à l'utilisateur, lui indiquant
comment circonvenir ce problème, ou alors pour faire d'une autre manière le
traitement que devait effectuer la popup en question.


if(window.open) popup();
else alert('oops!');

ne suffit pas ?

Souvent le window.open est dirigé vers un nouvel onglet, il faut alors
que le non-popup le sache et se réfère alors au referrer et non plus à
l'opener, bien que le referrer ... pas très fiable comme méthode.

comme par exemple celui-ci
http://stephane.moriaux.perso.orange.fr/truc/test.htm?salut=Hamiral
essayer depuis une autre page :
http://stephane.moriaux.perso.orange.fr/truc/a__jeter.htm