最近公司做的一个功能,使用了iframe,父页面内嵌子页面,里面的坑还挺多的,上次其实就遇到过,只不过今天在此描述一下。

    请允许我画个草图:

    

    外层大圈是父级页面,里层是子级页面,我们是在父级引用子级页面的,由于是两个页面,URL肯定不一样的,“一般的,在子页面做的操作也仅仅对子页面生效”,现在我要说的就是关于这一点的!

    公司这个功能,在子级页面完成某个操作以后,需要跳转页面,于是子级页面的代码是这样写的:提交=>提交成功=>跳转B页面。这个时候我们发现页面跳是跳了,但是是子级页面在子级页面里跳了,什么意思呢,其实就是外层没变,子级页面重定向的时候,是在iframe里面完成了跳转,F12你就会发现,iframe的href变了,但是浏览器地址栏的URL没变(当前浏览器地址栏自然就是父级页面URL了),而我们想要的效果,是浏览器地址栏变(也就是父级URL变)。所以最后还是借助中间页(home.aspx)做了一次页面跳转,从而改变父级URL。

    

关于iframe页面里的重定向问题的更多相关文章

  1. lhgdialog: iframe页面里面的,确定,关闭、取消按钮的操作

    lhgdialog: iframe页面里面的,确定,关闭.取消按钮的操作 如果你正在用lhgdialog,用他人iframe,或者 content:'url:http://www.baidu.com/ ...

  2. 拿到iframe页面里面的变量及元素的方法

    先严重差评一下,用这种方法window.parent.document.frames['layui-layer-iframe1']不行!而且frames方法存在浏览器不兼容问题(貌似火狐不行) 页面d ...

  3. 获取Iframe页面高度并赋值给Iframe以及获取iframe里的元素

    最近接手了别人的项目,别人用到了iframe,自己在实战中总结了一些关于iframe的小问题. 获取Iframe页面高度并赋值给Iframe Html <iframe name="co ...

  4. 点击iframe窗口里的超链接,打开新页面的方式

    点击iframe窗口里的超链接打开新页面的方式: a标签中设置按钮点击事件,事件调用的方法使用如下方法跳转链接:  window.open('url链接', '_blank');

  5. 关于iframe的父页面调取子页面里的事件(父往子里传)

    在body里打开一个iframe页面,想要调取打开的这个页面里的函数: $('iframe')[0].contentWindow.sonFn(canshu); [0]:比如在index.html页面里 ...

  6. iframe中子页面父页面里函数互调

    在iframe中很多要用的子页面父页面函数互调的情况,下面看一下各自用法,本人写个人网站的时候用过其他场景尚未试过 子页面调父页面 function fu(){ alert('父'); } funct ...

  7. iframe高度自动随着子页面的高度变化而变化(不止要在iframe标签里加上this.height=this.contentWindow.document.body.scrollHeight)

    最近使用iframe整合页面遇到一些难题,走了很多弯路才解决,借此记录一下: 1 <!-- 页面主体内容 --> 2 <div class="iframe-wrapper& ...

  8. Asp.net MVC访问框架页中嵌套的iframe页面时,如果session或cookie过期,登录验证超时怎样自动跳转到登录页

    一般登录验证的过滤器中,使用验证过滤器的Redirect方法,将请求重定向到指定的URL.但是如果我们要访问的页面是一个嵌套在框架页中的iframe页面时,这种重定向只会对iframe页面凑效,也就是 ...

  9. 获得同级iframe页面的指定ID元素的几种实现方法

    1.JS实现: var object= window.parent.frames("要获得的iframe的name").contentDocument.getElementById ...

随机推荐

  1. python scapy的用法之ARP主机扫描和ARP欺骗

    python scapy的用法之ARP主机扫描和ARP欺骗 目录: 1.scapy介绍 2.安装scapy 3.scapy常用 4.ARP主机扫描 5.ARP欺骗 一.scapy介绍 scapy是一个 ...

  2. JDK版本更换,Eclipse中所有的项目报错

    我将JDK10切换成JDK8版本以后,原先在eclipse中写的项目全部都报错了.解决方案如下: 1.设置eclipse中的JDK版本和JRE环境:window-preference-java-Com ...

  3. node express 上传文件

    npm install --save multer var fs = require('fs'); var multer = require('multer'); var upload = multe ...

  4. SpringBoot2.0 最简单的 idea 快速创建项目

    第一步 第二步 第三步 以上就是idea快速创建springboot的方法,创建之后等maven 依赖下载完成,就可以使用

  5. .net 解决伪静态下,html页面无法访问

    1.在<system.web>节点下添加: <!--URL重写文件设置开始--> <httpHandlers> <add verb="*" ...

  6. 伪静态规则RewriteRule-htaccess

    伪静态实际上是利用php把当前地址解析成另一种方法来访问网站,要学伪静态规则的写法,要懂一点正则 一.正则表达式教程 有一个经典的教程:正则表达式30分钟入门教程 常用正则如下: . 换行符以外的所有 ...

  7. HTTP协议中GET和POST的区别(详细描述)

    HTTP协议在现代网络通信中被广泛应用,在HTTP 1.0版本中有7种请求方式,在HTTP 1.1版本中有8种请求方式,而这些请求方式中最常用的就是GET和POST,网上关于GET与POST请求方式的 ...

  8. html 传递参数中文乱码 js获取参数乱码

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code HTML传递中文参数时,有乱码导致接收不到正确的数据.JS中可以使用encodeURI ...

  9. 【ECMAScript5】ECMAScript5中有关数组的常用方法

    1.indexOf() 此方法返回在改数组中第一个找到的元素位置,如果它不存在则返回-1 var arr = ['apple','orange','pear']; console.log(" ...

  10. 001_python单元测试

    一.同事推荐的 pytest库 ==> 官网:http://doc.pytest.org/en/latest/ github地址==>https://github.com/pytest-d ...