我有一个网页(比如www.example.com/a.asp)..我在这个页面中有一个iframe,它从不同的网站(www.example.net/b.asp)加载一个页面。 。这个b.asp向用户提出几个问题,结果发布到我的网站(www.example.com/c.asp)中的c.asp。此页面(www.example.com/c.asp)将加载到iframe中。当我收到www.example.net的回复时,有什么方法可以重新加载整个网页并重定向到另一个wbpage。很抱歉,如果这个问题令人困惑,请随时与我们联系。
答案 0 :(得分:0)
如果我理解正确,我认为您可以将帖子的目标设置为c.asp为“_top”。这应该重新加载整个页面,让你离开iframe。您的c.asp页面必须处理您需要的重定向。
或者,c.asp页面需要执行的重定向可能能够定位“_top”本身,以防您无法更改发布数据的页面。
答案 1 :(得分:0)
HTML中的表单标记似乎有一个target-attribute,用于在提交数据后将响应加载到指定的(例如_top)目标:
http://de.selfhtml.org/html/referenz/attribute.htm#form(德语)
不确定我是否真的回答了你的问题。我有吗?
干杯 的Matthias
答案 2 :(得分:0)
如果您无法控制加载到框架中的资源,则无法使用HTTP重定向,因此您坚持使用JavaScript。
鉴于相同的原始政策,我认为您可以做的最好的事情是确定何时将新文档加载到iframe中。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<title>test of iframe</title>
<iframe width="500" height="400" src="http://example.net/">
<p><a href="http://example.net/">See The Example Site</a></p>
</iframe>
<script type="text/javascript">
window.onload = function () {
document.getElementsByTagName('iframe')[0].onload = function () {
window.alert('Document loaded in frame');
}
}
</script>
然后您可以设置window.location(可能在计算事件触发的次数之后)
答案 3 :(得分:0)
如上所述,您可以在表单的目标中使用“_top”,或者您可以在结果页面上使用一些JavaScript来检查它是否是“顶部”页面。在所有条件相同的情况下,最好避免使用JavaScript,因为如果客户端禁用了脚本,它将无法运行。