在vue2.0 项目中A页面打开B页面 B页面调用window.opener.postMessage 失效。
解决方案是把 router-link _blank 方法改成 @click 调用
错误方法:❌
<router-link tag="a" target="_blank" :to="{ name: 'firewallCreate', query: {parkId: parkId} }"
><img @click="delayClose" src="@/assets/title-png/firewall.png"></router-link>
正确方法✅
<a><img @click="openBlank('firewallCreate')" src="@/assets/title-png/firewall.png"></a>
private openBlank(type) {
const routeUrl = this.$router.resolve({
name: type,
query: {parkId: this.parkId}
});
window.open(routeUrl.href, '_blank');
}
这样就解决了,希望对你有所帮助