34 votes

Rediriger la page parentale à partir d'une IFrame

J'utilise une IFrame, et à partir de cette IFrame, je veux rediriger vers une autre page.

Veuillez me dire comment faire sans JavaScript, c'est-à-dire sans window.location .

Response.Redirect montre la page dans l'IFrame, mais je veux montrer la page comme une page principale.

71voto

o.k.w Points 15721

Ce sera un danger si nous pouvons manipuler d'autres cadres/fenêtres sans utiliser des scripts côté client ou des actions provoquées par l'utilisateur.

Voici une liste d'alternatives :

Options Javascript :

window.top.location.href=theLocation;
window.parent.location.href=theLocation;
window.top.location.replace(theLocation);

Options non javascript :

<a href="theLocation" target="_top">Click here to continue</a>  
<a href="theLocation" target="_parent">Click here to continue</a>

13voto

Waheed Points 2390

J'ai utilisé ce code.

ClientScript.RegisterStartupScript(GetType(), "Load", "<script type='text/javascript'>window.parent.location.href = '../CentinelError.aspx'; </script>");

Et ça marche.

5voto

Michal Dymel Points 918

Je pense qu'il n'y a aucun moyen de le faire sans JS. Le navigateur traitera chaque redirection du serveur dans l'iframe. Vous devez lui "dire" de recharger la fenêtre entière en utilisant JavaScript.

5voto

Nous pouvons rediriger à la fois du côté serveur et du côté client lorsque nous utilisons Iframe<>.

Réponse côté client :

window.parent.location.href="http://yoursite.com"

Réponse côté serveur :

Response.Write("<script type=text/javascript> window.parent.location.href ='http://yoursite.com' </script>")

3voto

Synox Points 577

Il s'agit vraiment d'un hack, mais vous pourriez définir Parent-Frame comme cible par défaut :

<base target="_parent">

Comme cela s'appliquera à tous vos liens dans l'iframe, ce n'est peut-être pas une solution satisfaisante ;-)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X