self.location is null










quel navigateur ??
montre nous un peu plus du contexte ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
J'utilise firefox comme naviguateur.
Et sinon je travaille sur un projet drupal










Je serais curieux de voir comment tu le mets en oeuvre dans ton code ...
parce que ceci:
Fonctionne ... testé et approuvé !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part <div onclick="self.location.href='http://www.google.fr'">google</div>
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Le code suivant fonctionne :
Le problème est que je veux dans un premier temps fermer une popup et ensuite rediriger l'utilisateur. Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <div onclick="self.location.href='http://www.google.fr'">Test</div>
J'ai ce message d'erreur self.location is null
Code : Sélectionner tout - Visualiser dans une fenêtre à part <div onclick="parent.Lightbox.end();self.location.href='http://www.google.fr'">Test</div>
Ca fait 2 page qu'on a compris que ton code plantait mais on ne sait toujours pas d'où sort ton lightbox.
T'as pas envie de nous montrer ton code ?
(Et si ton lightbox provient d'une librairie de nous dire laquelle ?)
Edit: Tu utilises des (i)frames ? (puisque tu utilises l'objet "parent")
je répondais au message précédent, j'utilise le module lightbox2 de drupal
http://drupal.org/project/lightbox2










et ça tout seul ça fonctionne ?
ça ferme bien ton popup ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part <div onclick="parent.Lightbox.end();">Test</div>
ou popin car lightbox est un popin donc le parent ne se justifie pas selon moi...
du coup l'instruction plante et le href n'est pas invoqué ..
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Dans ce cas, à quoi est censé correspondre parent ?
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
en fait dans le module lightbox pour fermer la popup ils font ceci :
Voilà pourquoi j'utilise parent. Cela fonctionne ça ferme bien ma popup. Mais le problème c'est qu'après je ne parviens pas à rediriger l'utilisateur car effectivement le parent.Lightbox.end() semble rendre self.location null
Code : Sélectionner tout - Visualiser dans une fenêtre à part parent.Lightbox.end();
Non ^^ c'est juste que la référence à parent n'existe plus dans ce nouveau contexte d'exécution, et donc JS plante en essayant d'accéder à la propriété LightBox d'un objet undefined ^^ et la suite n'est simplement pas exécutée...










un bout de code sorti de son contexte et en effet ton parent n'a aucun sens ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Attention, si la fenêtre en cours est celle de plus haut niveau, alors
Code : Sélectionner tout - Visualiser dans une fenêtre à part parent === self === window
Donc parent existe toujours.
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
je peux fermer la popup qu'en utilisant parent. Autrement ça ne fonctionne pas.










sans voir le code on ne peux que supputer (non c'esty pas un gros mot !)
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
désolé de ne pas être très précis, je galère un peu là. Je viens de voir en parcourant le dom avec firebug qu'il y a une iframe effectivement.
Ton code html généré est-il un top secret que tu ne pourras pas le divulguer ici pour que l'on puisse t'aider un peu?
voici mon code complet :
et donc ça, c'est le code d'une page que j'affiche via le module lightbox2 que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php global $base_url; ?> <div class="home" onClick="parent.Lightbox.end();"></div> <div id="wrapper"> <div id="status_bar"> </div> <div class="navigationbar_filter"> </div> <div class="navigationbar_background"> <p><?php echo $data['nom'] ?></p> </div> <div class="content_product_sheet"> <?php foreach($data['zones'] as $zone){ $id1 = "zone".$zone['nom']; echo"<div class='".$id1."' title='".$zone['nom']."' onclick='javascript:clickEvent()';></div>"; } ?> </div> <div id="footer" onclick="javascript:afficher_cacher('footer')";> </div> </div>
http://drupal.org/node/1311756
Partager