Перенаправить родительскую страницу из IFrame
Я использую IFrame, и из этого IFrame я хочу перенаправить на другую страницу.
Скажите, пожалуйста, как это сделать без использования JavaScript, т.е. no window.location
.
Response.Redirect
показывает страницу в IFrame, но я хочу показать страницу как главную страницу.
Ответы
Ответ 1
Это будет опасностью, если мы сможем манипулировать другими кадрами/окнами с помощью клиентских сценариев или действий, вызываемых пользователем.
Здесь приведен список альтернатив:
Параметры Javascript:
window.top.location.href=theLocation;
window.parent.location.href=theLocation;
window.top.location.replace(theLocation);
Параметры без javascript:
<a href="theLocation" target="_top">Click here to continue</a>
<a href="theLocation" target="_parent">Click here to continue</a>
Ответ 2
Я использовал этот код.
ClientScript.RegisterStartupScript(GetType(), "Load", "<script type='text/javascript'>window.parent.location.href = '../CentinelError.aspx'; </script>");
И он работает.
Ответ 3
Я думаю, что нет никакого способа сделать это без JS. Браузер будет обрабатывать каждое перенаправление с сервера в iframe. Вы должны "сказать", чтобы перезагрузить все окно с помощью JavaScript.
Ответ 4
Мы можем перенаправлять с сервера и на стороне клиента при использовании Iframe < >
Ответ на стороне клиента:
window.parent.location.href="http://yoursite.com"
Ответ на серверную сторону:
Response.Write("<script type=text/javascript> window.parent.location.href ='http://yoursite.com' </script>")
Ответ 5
Ну, это действительно хак, но вы можете определить Parent-Frame как цель по умолчанию:
<base target="_parent">
Поскольку это применимо ко всем вашим ссылкам в iframe, это может быть не удовлетворительное решение; -)
Ответ 6
должен быть javascript, насколько я знаю.
self.parent.location='http://'
Ответ 7
Как и все остальные, вы не можете сделать это без использования JavaScript. Однако на стороне сервера вы можете исправить необходимый JavaScript, чтобы страница перенаправлялась в целевое местоположение, как только она загружалась внутри iframe.
Ответ 8
вы можете сделать это без javascript, если у вас есть доступ к головному блоку удаленной страницы:
<base target="_parent" />
очень простое, легкое, однострочное решение, если у вас есть доступ к удаленной странице. нет javascript.
Ответ 9
Response.Write( "<script>window.open('" + url + "','_parent');</script>" );
Отвечено в приведенной ниже ссылке
http://forums.asp.net/t/1349064.aspx?Redirect+parent+page+from+within+Iframe