2010-01-27 2 views
2

J'ai besoin de changer l'URL de la page dans le pop-up dès que le chargement est terminé (j'utilise l'appel de la fonction window.open). Y at-il de toute façon que je puisse savoir quand la page en pop-up a terminé le chargement dans la fenêtre parente? Je ne peux rien changer dans la page que j'ouvre dans une fenêtre pop-up, car elle appartient à un autre site web.Comment savoir quand l'URL de la fenêtre pop-up est chargée (window.open)?

Répondre

4

cela semble assez explicite, mais dites-moi si vous avez besoin d'explications (ou si elle ne fonctionne pas, mais il devrait ...)

var winObj = window.open(/* lot of params */); 

if(!winObj) 
{ 
    /* pop-up blocked! */ 
} 
else 
{ 
    winObj.onload = function(){ /* do stuff here */ }; 
} 
+0

Pouvez-vous lier dans des événements de fenêtre même avec les restrictions de la même politique d'origine? –

+0

L'URL pop-up que j'ouvre est sur un domaine différent, donc j'obtiens une erreur comme ci-dessous: Erreur: Autorisation refusée pour pour définir la propriété Window.onload sur . – exsource

9

window.open renvoie une référence à window de cette fenêtre objet.

Si la fenêtre ouverte pointe vers une URL sur le même domaine que l'ouvre-fenêtre, alors il aura un accès complet à cet objet tout comme son propre objet window.

var w = window.open(url); 

// If the window opened successfully (e.g: not blocked) 
if (w) { 
    w.onload = function() { 
     // Do stuff 
    }; 
} 

La même règle d'origine s'applique ici. Si l'URL de la fenêtre ouverte est sur un domaine différent, l'ouvreur n'aura pas accès aux membres de la référence de cette fenêtre.

+0

+1 pour dire exactement la même chose que moi (cependant, vous n'avez pas mentionné ce que 'si (w)' voulait dire),: P –

+0

Mais le PO n'a-t-il pas dit qu'il ne pouvait pas changer de page? Cela ne remplacera-t-il pas l'événement pages onload? – toc777

+0

Je pense que le PO signifie qu'ils n'ont pas accès à physiquement changer le code sur la page. Cela fournit un moyen d'attacher dynamiquement un écouteur. –

Questions connexes