如何跳出iframe框架到新的页面

在使拥iframe框架的时候,我们总是嵌套各种页面,都在一个地方显示。但是有时候,我们需要跳转到其他页面,就会出现还在一个inframe框架里面。这个时候,就需要下面的方法了。


1、利用超链接属性中target="_parent"。
在超链接中加入target属性 target="_parent">   (或者 target="_top">退出系统 就可以了,他的原理相当于目标页面替换当前的父窗体,而不是当前操作的窗体。
target属性值的含义:
_blank:新建窗口、_self:相同窗口、_parent:父窗口、_top:首窗口
2、利用js
1)退出

在logout()函数中将session清空,返回的登录页面就会全屏显示登录页面.他的原理相当于在请求发送前,把请求的页面替换成当前页面最顶级的frame,这样返回的页面理所应当的会替换整个页面的内容。

3:上面两个方法基本上能解决大部分遇到的问题,但是我遇到的是不一样的问题:

    我的用的是ukey登录,所以需要获取插入和拔出的事件。在拔出的时候,我们要退出登录。是通过js 来完成的。这个时候就是问题的关键了。一开始用的是:代码如下;

s_pnp.Socket_UK.onmessage =function got_packet(Msg)
        {
            var PnpData = JSON.parse(Msg.data);
            if(PnpData.type=="PnpEvent")//如果是插拨事件处理消息
            {
                if(PnpData.IsIn)
                {
                    // alert("UKEY已被插入,被插入的锁的路径是:"+PnpData.DevicePath);
                    alert("加密锁已插入");
                    // window.location.href="/index.php/admin/login/login";
                    // alert('777');
                }
                else
                {
                    // alert("UKEY已被拨出,被拨出的锁的路径是:"+PnpData.DevicePath);
                    top.location.replace('/index.php/admin/login/tuichu');
                    // window.parent.location.href='/index.php/admin/login/tuichu';
                    // window.open('/index.php/admin/login/tuichu','_parent')
                    // window.location.href="../index.php/admin/login/tuichu";


                }
            }
        }
index.php/admin/login/tuichu //这个就是处理退出登录的链接,清除session

红色部分就是我之前使用的代码,但是都不能用。所以就是top.location.replace()能用,这也是个办法,大家如果遇到 了,可以尝试下。

你可能感兴趣的:(PHP,js)