背景: 前端项目做了解耦后,在主项目(浏览器访问的页面)某个菜单下通过iframe加载子项目的页面,在子项目页面下点击某个链接并携带查询参数,通过window.top.PostMessage()函数向外(主项目)传递路由信息,使路由信息能够在外层项目(浏览器地址栏)能够同步展示内层页面的地址信息。 ...
分类:
其他好文 时间:
2021-05-24 08:57:22
阅读次数:
0
postMessage和onmessage的使用 postMessage和onmessage是HTML5的方法,用来解决跨页面通信,或者通过iframe嵌套的不同页面的通信的。postMessage为发送方,onmessage为接收方。 注:该方法需要浏览器对 HTML5 的支持 查看是否支持... ...
分类:
其他好文 时间:
2021-05-24 06:51:15
阅读次数:
0
最近遇到一个项目,用了iframe嵌入了另一个项目作为内容区,两个项目之间需要进行信息传递,如果用window.top的话只支持同一个域,于是便想到了postMessage来进行跨域通信。 1.postMessage基本用法 【发送消息】 otherWindow.postMessage(messag ...
分类:
其他好文 时间:
2021-03-05 12:55:51
阅读次数:
0
《转》 原来是为了在游戏外挂中发送键盘鼠标消息,自己写个sendmessage或者是postmessage又比较麻烦。于是google了一下,发现现在很多脚本工具都有这个功能,其中按键精灵的一个叫361度的插件已经有这个的实现,还验证过了。为什么不拿来己用呢?首先分析一下按键精灵插件的接口,发现:插 ...
1.父域页面(a.html):act/msg/evalStr 为自定义属性 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <input type ...
分类:
其他好文 时间:
2021-01-25 11:20:46
阅读次数:
0
深拷贝一般用JSON.parse(JSON.stringify(object))就可以解决了, 也知道这种方法的局限性: 会忽略 undefined 不能序列化函数 不能解决循环引用的对象 因为MessageChannel的postMessage传递的数据也是深拷贝的,这和web worker的po ...
分类:
其他好文 时间:
2021-01-19 12:10:47
阅读次数:
0
一、简介 1、postMessage()方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递 2、postMessage(data,origin)方法接受两个参数: (1)data:要传递的数据,html5规范中提到该参数可以是JavaScript的任意基本类型 ...
分类:
其他好文 时间:
2020-12-31 12:30:47
阅读次数:
0
1. 首先,要想接收从其他的窗口发过来的消息,就必须对窗口对象的message事件进行监听,如下代码: window.addEventListener(“message”, function(){},false); 2. 其次,需要使用window对象的postMessage方法向其他窗口发送消息, ...
分类:
Web程序 时间:
2020-06-25 19:48:14
阅读次数:
79
在写微信小程序web-view嵌入H5页面, H5页面向小程序页面传值的时候,多次尝试传值和页面返回都不成功,然后仔细看官方文档,发现有这句话: 网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。 也就是只有在小程序后退、组件销毁、分享时才会触发 所 ...
分类:
微信 时间:
2020-06-13 23:28:42
阅读次数:
156
我们知道:在浏览器环境中,常见的 macro task 有 setTimeout、MessageChannel、postMessage、setImmediate。而常见的 micro task 有 MutationObsever 和 Promise.then。 Vue中对于 macro task 的 ...
分类:
其他好文 时间:
2020-06-11 13:34:38
阅读次数:
70