博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
平时问题总结
阅读量:4625 次
发布时间:2019-06-09

本文共 1210 字,大约阅读时间需要 4 分钟。

一个修改密码的需求(具体:一套修改密码的代码逻辑步在另一套服务器上php写的并且是https:172.16.2.6, 要嵌入在oa系统里http:172.16.20.36)

// 在页面写入一个div开始隐藏,在点击忘记密码的时候给这个div里面创建一个iframe,让其显示function newforgotPassword(){    $('#myDiv').show().width('100%').css('background','rgba(0,0,0,0.2)');    var iframe = document.createElement('iframe');     iframe.scrolling = 'no';    iframe.setAttribute('id','iframe');    iframe.setAttribute('name','iframename');    iframe.style.border = 'none';    iframe.src = "https://172.16.2.6/resetpwd/";      // iframe.style.height = '100%';    // iframe.style.width = '100%';    $('#myDiv').append(iframe);    $('.mask').show();}

1171033-20190311102930145-480226474.png

1171033-20190311102938272-479814377.png

踩坑开始:

如图所示整个弹框都是内嵌的页面,出现的问题是:iframe内嵌的页面点击关闭以后,父页面不知道,然后创建的iframe依然存在 就会挡住后面的登陆输入框 没办法再次点击只能重新刷新页面为了解决这个问题 想到的方案:1 在子页面点击关闭的时候发出来一个事件,然后父页面接收事件
① $(父页面元素选择器, window.parent.document);    ② window.parent.$(父页面元素选择器)window.parent.父页面方法;
同事说  试试domain  试过也不行 (这两个域名必须属于同一个基础域名!而且所用的协议,端口都要一致才可以使用domain)2 父页面为A.com  iframe弹框为B.com 再创建一个html 里面只写关闭弹框的方法 再通过iframe的方式嵌入到iframe(B.com)的弹框中 但是他属于A.com  这样关闭方法和父页面就是同域 就可以关闭弹框之后 隐藏iframe以及div  问题解决?  然鹅 并没有  以上两种方法 都不行  都会报错  报跨域的错 可能https http 的错也有 最终解决办法 再父页面写了一个关闭按钮 搁到了iframe关闭按钮那里  这样就可以解决问题了     变通!!!

转载于:https://www.cnblogs.com/ljh--/p/10509068.html

你可能感兴趣的文章
apicloud UISearchBar 使用方法
查看>>
【spring+websocket的使用】
查看>>
mongo二维数组操作
查看>>
localStorage之本地储存
查看>>
Archlinux 交换左Ctrl和Cap键
查看>>
#openstack故障处理汇总
查看>>
搜索旋转排序数组 II
查看>>
20、docker swarm
查看>>
psp工具软件前景与范围文档
查看>>
day06-三元表达式
查看>>
C# DateTime.Now详细用法
查看>>
Php中"{}"大括号的用法总结(转)
查看>>
JavaScript内存优化
查看>>
BZOJ1059: [ZJOI2007]矩阵游戏(二分图匹配)
查看>>
P3385 【模板】负环
查看>>
URI、URL 和 URN的区别
查看>>
根据表达式序列(前缀、中缀、后缀)构建表达式树
查看>>
mysql性能优化
查看>>
【SqlServer系列】语法定义符号解析
查看>>
Color Length UVA - 1625
查看>>