首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制iframe加载全帧

问强制iframe加载全帧
EN

Stack Overflow用户
提问于 2008-10-11 17:26:52
回答 2查看 4K关注 0票数 1

我有一个超文本标记语言页面(比方说welcome.html),其中包含一个我无法控制(比方说app.html)的页面的iframe。用户使用iframe中的应用程序执行一些操作,然后单击submit。一旦他们这样做了,他们就会被带到一个新的页面(比如thanks.jsp),这个页面会加载到iframe中。有没有一种方法可以强制thanks.jsp加载整个框架,而不是单击提交后的iframe?请记住,我无法控制Submit按钮或app.html背后的逻辑。然而,我确实可以控制welcome.html和thanks.jsp。如果可能的话,我想坚持使用超文本标记语言和/或JavaScript。提前谢谢你。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-10-11 17:39:38

您可能希望使用framebuster,并设置一个基本目标,以防它失败。

首先:

如果通过post请求重定向请求 thanks.jsp,则为,因此您可以将页面呈现为对get请求的响应。

然后:

包括framebuster JavaScript:

代码语言:javascript
复制
<script type="text/javascript">
   if (self != top) { top.location.replace(location); }
</script>

最后:

如果用户没有启用JavaScript,请确保他们不会再停留在框架中,而不是必须这样做:

代码语言:javascript
复制
<base target="_top">
票数 5
EN

Stack Overflow用户

发布于 2008-10-11 17:41:17

在thanks.jsp上,您可以输入以下JS:

代码语言:javascript
复制
// Parent window not the same as this one
if (self !=top) 
{
    top.location.href = self.location.href;
} 

由于same origin policy的原因,如果您在与包含框架的原始页面相同的服务器上拥有thanks.jsp,那么这将会起作用。

上面的代码检查你所在页面的url,然后检查它正在执行的页面的url (thanks.jsp) -如果它们不匹配,你将被发送到thanks.jsp url。当thanks.jsp是一个静态页面时,这个方法工作得很好,但不会携带postdata等。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/194346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档