我可以根据iframe中的内容来控制页面吗?

时间:2011-02-26 18:48:52

标签: javascript jquery colorbox

当有人点击个人资料链接时,我正在使用colorbox“弹出”用户个人资料。该配置文件是在iframe中加载的,因为我希望它们能够点击内部的几个链接并将其保存在同一个弹出窗口中。当用户的会话超时时会出现问题,因为如果弹出窗口打开,它会在弹出窗口中显示登录页面。

我想知道如何根据colorbox iframe中返回的内容来控制“外部”页面。我想将整个页面重定向到登录页面,而不仅仅是colorbox iframe的内容。有没有办法用javascript做到这一点?

如果我没有充分描述问题,请告诉我。

2 个答案:

答案 0 :(得分:1)

只需将其粘贴到< header>内即可您的登录页面:

<script type="text/javascript">
  if (window!=window.top) { window.top.location.href = window.location.href; }
</script>

通过这种方式,您可以在iframe中显示任何页面,登录页面除外,它将替换整个页面。

脚本检测页面是在主窗口中还是在iframe内加载,然后执行重定向以从iframe中“转义”。

答案 1 :(得分:0)

您应该使用以下语句重定向打开页面。

window.opener.document.location.href= "/login";

如果您使用ajax加载iframe的内容,则可以在ajax响应的基础上轻松使用此语句。如果您不使用ajax,则必须发送以下响应。

<script type="text/javascript">
    window.opener.document.location.href= "/login";
</script>