IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Bug IE9 + window.opener : permission refusée


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Bug IE9 + window.opener : permission refusée
    Bonjour tout le monde,

    Voici le souci que je rencontre uniquement avec IE9 (Tous les autres navigateurs : OK).

    J'ai une page parent qui me permet d'ouvrir une page enfant via un lien.
    A l'ouverture de la page enfant j'initialise une variable de la page parent afin d'avoir dans la page parent la liste des pages enfant ouvertes (dans ce cas une seule).

    Si je rafraîchis la page enfant, je n'ai alors plus accès à la variable de la page parent : permission refusée, mais uniquement avec IE9.

    L'objectif de cette liste est de me permettre de fermer les fenêtres enfant lorsque je ferme la fenêtre parent.

    Quelqu'un a t'il rencontré ce problème ?

    Codes exemple:

    Page Parent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <html>
    <head>
    	<title>Parent</title>
    	<script type="text/javascript">
    		var t_win = new Array();
    	</script>
    </head>
    <body>
    	<a href="page_enfant.htm" target="_blank">Clic here</a>
    </body>
    </html>
    Page enfant :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <html>
    <head>
    	<title>Child</title>
    	<script>
    		var win_parent;
     
    		function oneventload()
    		{
    			if( win_parent == null )
    				win_parent = window.opener;
     
    			var lg = win_parent.t_win.length;
    			var di_o_win = null;
    			var okadd = true;
    			var _form = null;
    			var i = 0;
     
    			alert("lg = " + lg) ;
     
    			while( i < lg && okadd == true )
    			{
    				di_o_win = win_parent.t_win[i];
     
    				if( di_o_win != null )
    				{
    					_form = null;
     
    					try
    					{
    						_form = di_o_win.child;
     
    						if( _form != null && _form == this )
    							okadd = false;
    						else
    							i++;
    					}
    					catch(ex)
    					{
    						i++;
    					}
    					alert(_form);
    				}
    				else
    					i++;
    			}
     
    			if( okadd )
    			{
    				di_o_win = new Object() ;
    				di_o_win.child = this ;
    				win_parent.t_win.push(di_o_win) ;
    			}
    		}
    	</script>
    </head>
     
    <body onload="oneventload();" >
    	<p>Page enfant</p>
    </body>
    </html>

  2. #2
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    J'ai trouvé mon problème.

    Lorsque j'ouvre la page enfant, le script de la page enfant crée un nouvel Object contenant les informations de la page enfant. Cet objet est ensuite passé en paramètre à la page parent.

    Il faut en fait créer cet objet dans un script de la page parent.
    Ce qui résout le problème.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. window.open() Forbidden, you dont have permission
    Par enrico83600 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/05/2010, 08h15
  2. bug window.open sur ie7
    Par pchelp59 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/03/2009, 13h13
  3. [AJAX] Permission refusée d'utiliser la méthode open
    Par DaSoul dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/11/2006, 06h34
  4. [debutante]Window.open accès refusé
    Par norkius dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 31/10/2006, 15h56
  5. window.open, accès refusé
    Par raptor70 dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 29/11/2005, 16h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo