关于使用iframe嵌套页面的跳转方式

关于使用iframe嵌套页面的跳转方式一、背景A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,在D中跳转页面的写法区别如下。二、JS跳转window.location.href、location.href本页面跳转,D页面跳转parent.location.href上一层页面跳转,C页面跳转top.location.href最外层页面跳转,A页面跳转三、链接或者formD页面中有for…

大家好,又见面了,我是你们的朋友全栈君。

一、背景
A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,在D中跳转页面的写法区别如下。


二、JS跳转
window.location.href、location.href 本页面跳转,D页面跳转
parent.location.href 上一层页面跳转,C页面跳转
top.location.href 最外层页面跳转,A页面跳转


三、链接或者form
D页面中有form
<form>: form提交后D页面跳转
<form target=”_blank”>: form提交后弹出新页面
<form target=”_parent”>: form提交后C页面跳转
<form target=”_top”> : form提交后A页面跳转


四、刷新
parent.location.reload():C页面刷新
window.opener.document.location.reload():C页面刷新(使用子窗口的opener对象来获得父窗口对象)

top.location.reload():A页面刷新

知识点转自http://blog.csdn.net/yuling59520/article/details/5630766

虽然现在iframe用的较少,但是一些管理系统里还是会用到,今天项目里就遇到一个很奇怪的bug,layer弹出层是一个新页面,页面上有日历控件(WdatePicker.js),关闭弹框时日历控件没有自动消失,这个bug不是所有的页面有,所以很奇葩,这个时候就用到了上面的知识点来解决的,代码如下:

$(window.parent.document).find(".layui-layer-close").on("mousedown", function(){
 
 //关闭弹框前把日历控件关闭
    window.top.$("body>div>iframe").parent("div").hide();
});

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149319.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pkpm卸载后无法安装_正在安装的软件删不掉

    pkpm卸载后无法安装_正在安装的软件删不掉1.卸载原有旧的版本:npmuninstall-gcnpm–registry=https://registry.npm.taobao.org2.注册淘宝模块镜像:npmsetregistryhttps://registry.npm.taobao.org3.node-gyp编译依赖的node源码镜像npmsetdisturlhttps://npm.taobao.org/dist4.清空缓存npmcacheclean–force5.重

  • RT-thread finsh组件工作流程[通俗易懂]

    RT-thread finsh组件工作流程[通俗易懂]finsh是RT-Thread的命令行外壳(shell),提供一套供用户在命令行的操作接口,主要用于调试、查看系统信息。在大部分嵌入式系统中,一般开发调试都使用硬件调试器和printf日志打印,在有些情况下,这两种方式并不是那么好用。比如对于RT-Thread这个多线程系统,我们想知道某个时刻系统中的线程运行状态、手动控制系统状态。如果有一个shell,就可以输入命令,直接相应的函数执行获得需要的

  • ubuntu 安装apt_Unable to locate package vim

    ubuntu 安装apt_Unable to locate package vimubuntu通过apt命令快速安装指定版本的nginx先安装nginx依赖的第三方包sudoaptinstallcurlgnupg2ca-certificateslsb-release添加nginx官方的ubuntu的apt源echo”debhttp://nginx.org/packages/ubuntu`lsb_release-cs`nginx”\|sudotee/etc/apt/sources.list.d/nginx.list新增

  • 廖雪峰的 Python 教程_python基础教程廖雪pdf

    廖雪峰的 Python 教程_python基础教程廖雪pdfimportmath#一元二次方程defquadratic(a,b,c): n=b/a/2 m=abs(n*n-c/a) x1=math.sqrt(m)-n x2=-math.sqrt(m)-n returnx1,x2#一个或多个数的乘积defproduct(f,*args): result=f; forxinargs: resu…

    2022年10月30日
  • java线程间通信的几种方法_socket通信原理 java

    java线程间通信的几种方法_socket通信原理 javaJava线程间通信

  • 用户态和内核态切换开销_进程切换在用户态还是内核态

    用户态和内核态切换开销_进程切换在用户态还是内核态1.切换方式从用户态到内核态切换可以通过三种方式,或者说会导致从用户态切换到内核态的操作:系统调用,这个上面已经讲解过了,在我公众号之前的文章也有讲解过。其实系统调用本身就是中断,但是软件中断,跟硬中断不同。系统调用机制是使用了操作系统为用户特别开放的一个中断来实现,如Linux的int80h中断。 异常:如果当前进程运行在用户态,如果这个时候发生了异常事件,会触发由当前运行进程切换到处理此异常的内核相关进程中 外围设备中断:外围设备完成用户请求的操作之后,会向CPU发出中断信号,这

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号