2009-06-05 7 views
46

Dans mon scénario, j'ai un bouton dans une section iframe de ma page qui effectue un traitement de base de données.Comment recharger la page principale à partir d'un iFrame

Ce dont j'ai besoin, fondamentalement, c'est un moyen d'effectuer une actualisation de page de la page principale, lorsque ce bouton dans l'iframe est pressé.

J'apprécierais le javascript que je peux déclencher dans l'iframe, qui rechargera la fenêtre principale contenant l'iframe.

Merci. Tony.

Répondre

98
window.top.location.reload(); 
+2

+1 pour l'utilisation de window.top pour s'assurer que la page principale est être ciblé. – peirix

+0

cela fonctionne avec IE6? – tonyf

+0

Oui, les amygdales ... –

8
window.parent.location.reload(); 
8

Si les domaines du parent et de l'enfant iframe sera différent, vous obtiendrez une erreur de sécurité inter-fenêtre, dans ce cas, vous pouvez essayer d'utiliser ce qui suit:

window.parent.location = document.referrer; 
2

Nous pouvons facilement atteindre l'objectif faisant face en fixant target = "_ parent" aux liens qui se trouvent dans l'iframe.

Tout comme la démonstration suivante montre:

<!--ParentPage.htm--> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
</head> 
<body> 
Parent Page 
<iframe src="FramePage.htm"></iframe> 
</body> 
</html> 


<!--FramePage.htm--> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title></title> 
</head> 
<body> 
<a href="http://www.g.cn" target="_parent">hello</a> 
</body> 
</html> 
0

définissent allFrame variable sur votre cadre supérieur:

var allFrame=1 

et sur tous vos cadres vérifier cette fonction

if(top.allFrame === undefined) 
{ 
    window.parent.location = "your website top frame"; 
} 
0
window.opener.top.location.reload(); 
Questions connexes