当前第2页 返回上一页
source ?C 消息源,消息的发送窗口/iframe。
origin ?C 消息源的URI(可能包含协议、域名和端口),用来验证数据源。
data ?C 发送方发送给接收方的数据。
调用实例
主线程中创建 Worker 实例,并监听 onmessage 事件
JavaScript Code复制内容到剪贴板
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <html>
<head>
<meta http-equiv= "Content-Type" content= "text/html; charset=iso-8859-1" >
<title>Test Web worker</title>
<script type= "text/JavaScript" >
function init(){
var worker = new Worker( 'compute.js' );
worker.onmessage= function (event) {
document.getElementById( "result" ).innerHTML +=
event.data+ "<br/>" ;
};
}
</script>
</head>
<body onload= "init()" >
<p id= "result" ></p>
</body>
</html>
|
在客户端的 compute.js 中,只是简单的重复多次加和操作,最后通过 postMessage 方法把结果返回给主线程,目的就是等待一段时间。而在这段时间内,主线程不应该被阻塞,用户可以通过拖拽浏览器,变大缩小浏览器窗口等操作测试这一现象。这个非阻塞主线程的结果就是 Web Workers 想达到的目的。
compute.js 中调用 postMessage 方法返回计算结果
JavaScript Code复制内容到剪贴板
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var i=0;
function timedCount(){
for ( var j=0,sum=0;j<100;j++){
for ( var i=0;i<100000000;i++){
sum+=i;
}
}
postMessage(sum);
}
postMessage( "Before computing," + new Date());
timedCount();
postMessage( "After computing," + new Date());
|
相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
相关阅读:
用Js操作HTTP的Cookie的实现步骤
html 边框虚线的实现步骤
AJAX的常用语法是什么
以上就是H5里的postMessage API图文详解 详细介绍的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
断点续传原理是什么?怎么利用html5实现文件断点续传
jquery实现带弹窗和次数的转盘抽奖(代码)
html5多媒体audio和video详细介绍(一)
html5剪切板功能的实现
html5中的progress元素的详细介绍及兼容性处理
html5仿amd9官网酷炫的下载引导页动画特效的示例代码
html5幻灯片系统:h5slides
html5 学习filereader接口代码实例分享9(图)
html5视频播放教程实例
h5制作虚拟键盘时出现输入框遮挡的情况怎么办?
更多相关阅读请进入《postmessage》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » H5里的postMessage API图文详解 详细介绍