2021-12-30 window.open子窗口调用父窗口方法

这是一个debug日常。
先来看一下原生window对象-子窗口、子窗口调用父页面方法
项目在使用某插件时候(插件会通过window.open打开一个编辑器窗口,编辑完成之后保存并把数据返回给父窗口),原生代码没问题,只有在vue环境中的 IE浏览器下,子窗口给父窗口传值时会报错。
在这里插入图片描述
在这里插入图片描述

原因是js文件定义的全局方法 ieattachEventntko 并未成功挂载到父窗口,vue中把js文件中定义的对象通过export default ntkoBrowser抛出,然后引入到我们的父窗口用的vue组件里。

弯路就不说了,和项目组人员通读插件,找问题根源找了很久,症结还是在于最初在使用插件时,js引入方式不同。

我需要做得是把ieattachEventntko也放到全局对象里抛出,然后 直接显式挂载到父窗口的window上(vue组件),然后在子窗口通过window.opener就可以访问到父窗口的方法并执行。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值