Par Nicolas SUPRIN, mardi 10 avril 2007 à 13:42 | Javascript | #94 | rss
Comme indiqué dans le titre, voici une astuce de derrière les fagots, afin de ne plus "écraser" une popup déja ouverte, même sur une autre page.
Le souci
Lorsque l'on ouvre un popup avec open, nous récupérons une référence sur la nouvelle fenêtre créée.
En général, cela nous suffit amplement pour faire nos différents traitements.
Ex : ajouter du contenu dans la popup.
Problème, si nous actualisons la page qui crée le popup, ou si nous naviguons de pages en pages et que nous voulons conserver notre popup intacte, nous n'avons plus la main sur cette référence.
Et oui, javascript, pour des raisons de sécurité, ne permet pas de "prendre la main" directement sur une fenêtre que nous n'avons pas créée dans notre contexte.
La feinte molle
Pour pallier à ce petit ennui, et pour contourner cette sécurité, il existe (mal)heureusement une fourberie :
var LocalPop = window.open("", Nom, Parametres); if (LocalPop.location.href == "about:blank") { LocalPop.location = Entete + Page; }
- Ouverture d'un popup sans url
- Récupère l'url de la popup ainsi "créée"
- Si l'url est "vide", on lui affecte sa vraie valeur
- Sinon, c'est que l'url à déja été créée.
Et voila ;)





Aucun commentaire pour le moment.
Aucun trackback.
Les trackbacks pour ce billet sont fermés.
Les commentaires pour ce billet sont fermés.