当window.opener无法调用时的原因与解决方案
window.opener在谷歌浏览器中提示window.opener… is not a function
使用框架angularJS
出错的原因:
症状:能弹出子页面没毛病,但问题是谷歌浏览器在子页面上点击选择按钮毫无反应,IE上需要通过允许,Firefox问题.
原因:是opener属性的缘故,但不是谷歌浏览器的兼容性问题,首先要知道js安全机制原则上是不能访问本地文件的,并且谷歌浏览器的安全设置级别比较高,认定你在"本地"应用opener属性的时候是通过js打开本地文件,所以操作被截止.
但是,在实际开发环境中是不会产生这个问题的,因为当把页面文件部署到服务器上,通过谷歌浏览器输入 localhost/****** 或者 127.0.0.1/****** 访问该页面,是没有毛病的。
转自:https://blog.csdn.net/o_orick/article/details/73731464?utm_source=itdadao&utm_medium=referral
个人点评:我尝试过,但就是不行
试验过,但不限于:
window.opener.initSearch();var pwin = window.opener;pwin.document.getFlag(true);window.parent.$('.getCollectionPro').trigger('click');window.opener.getFlag(true);window.opener.location.search();window.opener.location.doSearch();window.opener.document.search();window.opener.search();window.parent.opener.search();window.opener.location.document.search().value=true;window.opener.location.reload();//该方法可行,把父页整体刷新,但不保留搜索条件
解决方案与思路
既然从子页调用父页不行,那么我反向,父页监听子页请求。当父页收到子页信号后,就执行doSearch();
子页代码
public backQuerylist() {localStorage.setItem('test', JSON.stringify('test'))window.close();}
父页代码
public change():void {//局部刷新setTimeout(() => {this.change()if (localStorage.getItem('test')) {this.doSearch()//调用查询功能localStorage.removeItem("test")}}, 0)}
当window.opener无法调用时的原因与解决方案相关推荐
- Web Api 调用时出现405错误解决方案
Web Api 调用时出现405错误 之前可以调用成功,说明配置没问题 说明: .net core WebApi 在配置终结点时adress不需要指定svc,但是wcf服务需要 错误提示: Syste ...
- window.opener用法
window.opener 实际上就是通过window.open打开的窗体的父窗体. 比如在父窗体parentForm里面 通过 window.open("subForm.html" ...
- window.opener.location.reload() and href()的区别
window.opener.location.reload() and href()的区别 Posted on 2010-05-03 18:00 大椰网吧 阅读(3652) 评论(0) 编辑 收藏 2 ...
- window.opener的用法
window.opener 主要用来打开窗体的父窗体,可以通过这种方式设置父窗体的值或者调用js方法. 例如: 1,window.opener.test(); ---调用父窗体中的test()方法 2 ...
- window.opener用法(在子窗体中获得父窗体的方法)
window.opener 实际上就是通过window.open打开的窗体的父窗体. 比如在父窗体parentForm里面 通过 window.open("subForm.html" ...
- 微信内置浏览器window.opener不能使用
微信内置浏览器window.opener不能使用 经测试,在微信内置浏览器不存在window.opener,window.opene()可以使用,但是作用为跳转新页面,window.close()不可 ...
- window.opener方法的使用 js跨域
2019独角兽企业重金招聘Python工程师标准>>> 最近公司网站登陆加入了第三方登陆.可以用QQ直接登陆到我们网站,在login页面A中点QQ登陆时,调用了一个window.op ...
- window.opener 的用法
window.opener 的用法 在一般的用法中,只是用来解决关闭窗口时不提示弹出窗口, 而对它更深层的了解一般比较少.其实 window.opener是指调用window.open方法的窗口. ...
- window.opener
只要一个窗口的typeof window.opener != 'undefined', window.close()时IE就不会提示"您查看的网页正在试图关闭窗口.是否关闭此窗口?&qu ...
最新文章
- 那些年一起学习的PHP(三)
- Java四大知识点讲解,初学者必看
- AppleScript快速入门教程
- Spring Boot基础学习笔记04:Spring Boot加载自定义配置文件
- JAVA开发血泪之路:一步步搭建spring框架
- kvm虚拟化学习笔记(十)之kvm虚拟机快照备份
- atitit.短信 验证码 破解 v3 p34 识别 绕过 系统方案规划----业务相关方案 手机验证码 .doc
- Ubuntu常用命令大全
- php原生代码实现短信验证码注册业务,流程详解附demo
- iphone捷径大全_iPhone捷径,助您一臂之力
- Sqilabs第五关注入常用注入方式详解
- 移动地理信息系统学习笔记
- 分享Silverlight/WPF/Windows Phone一周学习导读(1月3日-1月8日)
- Imperva WAF 添加黑名单
- 电脑运行卡顿?六个方法打开任务管理器解决
- 存储过程与函数 - 存储函数的使用
- 祝你一路顺风_吴奇隆_酷音小伟编曲_C调简单版
- 垃圾邮件攻击与勒索病毒家族VoidCrypt
- HTML在指定位置画一个矩形,CAD如何在指定位置绘制矩形?
- rasa x The path ‘config.yml‘ does not exist. Please make sure to use the default location
热门文章
- java心得hello_java学习的第一阶段总结
- UESTC - 1057 秋实大哥与花 线段树
- 四种常用线程池及自定义线程池参数详细分析
- 梆梆安全:做以结果为导向的安全服务商
- 全球5G手机最新排名!
- php 上标和下标,网页中各种上标和下标的应用实例
- opencv+tesseract完成验证码识别(识别率99.99%)
- 2022-2027年中国稀有金属矿产行业发展监测及投资战略研究报告
- 心理学与计算机交叉学,认知心理学其与邻近学科交叉产物
- QMessageBox 中的 OK 按钮改为中文“确定”