J'utilise un IFrame, et à partir de cet IFrame, je veux rediriger vers une autre page.
Veuillez me dire comment procéder sans JavaScript, c'est-à-dire sans window.location
.
Response.Redirect
affiche la page dans l'IFrame, mais je veux afficher la page en tant que page principale.
Ce sera un danger si nous pouvons manipuler d'autres cadres/fenêtres sans utiliser des scripts côté client ou des actions invoqué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>
J'ai utilisé ce code.
ClientScript.RegisterStartupScript(GetType(), "Load", "<script type='text/javascript'>window.parent.location.href = '../CentinelError.aspx'; </script>");
Et il fonctionne.
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 toute la fenêtre en utilisant JavaScript.
Nous pouvons rediriger à la fois côté serveur et côté client lors de l'utilisation de 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>")
Eh bien, c'est vraiment un hack, mais vous pouvez définir Parent-Frame comme cible par défaut:
<base target="_parent">
Comme cela s'appliquera à tous vos liens dans l'iframe, cela peut ne pas être une solution satisfaisante ;-)
doit être javascript pour autant que je sache.
self.parent.location='http://'
vous POUVEZ le faire sans javascript, si vous avez accès au bloc de tête de la page distante:
<base target="_parent" />
solution 1 ligne très simple, facile, si vous avez accès à un en-tête de page distant. pas de javascript.
Comme tous les autres l'ont souligné, vous ne pouvez pas le faire sans utiliser JavaScript. Cependant, côté serveur, vous pouvez émettre le code JavaScript nécessaire pour que la page soit redirigée vers l'emplacement cible dès qu'elle se charge dans l'iframe.
Response.Write( "<script>window.open('" + url + "','_parent');</script>" );
Répondu dans le lien ci-dessous http://forums.asp.net/t/1349064.aspx?Redirect+parent+page+from+within+Iframe