0

我有一个网页(比如 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。对不起,如果这个问题令人困惑,有任何疑问请告诉我。

4

4 回答 4

0

如果我理解正确,我认为您可以将帖子的目标设置为 c.asp 为“_top”。这应该重新加载整个页面,让您退出 iframe。您的 c.asp 页面必须处理您需要的重定向。

或者,c.asp 页面需要执行的重定向可能能够以“_top”本身为目标,以防您无法更改发布数据的页面。

于 2008-10-08T09:41:58.370 回答
0

嗯,不知道我说得对不对。你的意思是当你收到来自 abc.com 而不是你自己的网站的回复时?

HTML 中的表单标签似乎有一个目标属性,用于在提交数据后将响应加载到指定的(例如 _top)目标:

http://de.selfhtml.org/html/referenz/attribute.htm#form(德语)

不确定我是否真的回答了你的问题。我有吗?

干杯马蒂亚斯

于 2008-10-08T09:44:30.783 回答
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 (可能在计算事件触发的次数之后)

于 2008-10-08T10:26:51.930 回答
0

如上所述,您可以在表单的目标中使用“_top”,或者您可以在结果页面上使用一些 JavaScript 来检查它是否是“顶部”页面。在所有条件相同的情况下,您最好避免使用 JavaScript,因为如果客户端禁用了脚本,它将无法工作。

于 2008-10-25T19:28:58.517 回答