iframe中嵌套iframe,iframe嵌套iframe
问题描述
我们在使用easyui作为后台管理系统时,会使用tree组件来实现树形菜单,并且每次点击对应的菜单,都会根据是否有url来判断是否是一级菜单以及是否已经存在。
//确定是否有if ($ (# tabs )。本节点中的tabs (exists ,node.text))根据其名称{//如果有,直接选择$ (# tabs )。制表符( select ,node . text);}如果没有,我们将嵌套一个iframe标签来打开相应的html窗口。
$(#tabs )。tabs(add ,{ //标题是当前节点的名称title:node.text,//no border border:false,//是否显示关闭按钮closed:true,//嵌套iframe标签内容: iframe frame border= 0 src= node . URL width= 100% height= 100% / })以及这时候出现了什么样的问题?有这样一种情况,当我们在同一个浏览器中同时在A页签和B页签打开后台管理页面,然后我们在A页注销,然后在A页点击“员工管理”,那么我们要全局刷新,回到登录页面,如下图所示。
但是,此时,由于我们的嵌套iframe,当我们单击Employee Management时,正常发送的请求是/employee/index,此时,由于当前用户已被注销,因此没有对其进行身份验证。
content: iframe frame border= 0 src= node . url width= 100% height= 100% /所以这里的iframe表单的URL地址会变成login.jsp,从而成为一个iframe嵌套问题,如下图所示:
解决思路
在我们的html中,每个打开的表单都有一个窗口对象。举个例子,如上图所示,从内部表单的角度来看,外部表单实际上是内部表单的父表单(如果打开了很多嵌套的表单,那么最外面的表单就是top)。如果想得到外在的形式,也很简单,就是window.parent
此时,如果我们要打开的窗体不是最外层的窗体,我们只需要将最外层的窗体对象赋给当前窗体。
//如果当前窗体不是最外层窗体if (window!=top){ //然后将最外层窗体的地址赋给当前窗体top . location . href=window . location . href;}就是这样。本文介绍了iframe标签嵌套问题的解决方案。有关更多相关的iframe标记嵌套内容,请搜索以前的文章或继续浏览下面的相关文章。希望你以后能支持我!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。