HTML5 Web Worker
【摘要】
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <script src="js/jquery-1.8.3.min.js"></script> ...
-
<!DOCTYPE html>
-
<html>
-
<head>
-
<meta charset="utf-8" />
-
<title></title>
-
<script src="js/jquery-1.8.3.min.js"></script>
-
<script>
-
//WEB页主线程;
-
var worker=new Worker("js/worker.js");
-
//创建一个Worker对象,并向它传递将在新线程中;
-
worker.postMessage("hello world SB"); //向worker发送数据
-
worker.onmessage=function(evt){ //接收Worker传过来的数据函数
-
console.log(evt.data);
-
alert(evt.data);
-
}
-
/*检测浏览器是否支持*/
-
$(function(){
-
if(typeof(Worker)=="undefined"){
-
$("#support").html("浏览器不支持HTML5 Web Worker!");
-
}else{
-
$("#support").html("浏览器支持Html5 Web Worker!");
-
}
-
});
-
</script>
-
</head>
-
<body>
-
<div id="support"></div>
-
</body>
-
</html>
-
onmessage=function(evt){
-
var d=evt.data;
-
postMessage(d);
-
}
worker是一个对象,通过构造函数Worker创建,参数就是一个js文件的路径;文件中的js代码将运行在主线程之外的worker线程;
var jsFileURI = JS_FILE_PATH; // js文件路径 var worker = new Worker(jsFileURI);
worker运行在另一个全局上下文中(self),这个全局上下文不同于window,所以不能在woker中访问window和DOM;
该线程分为两种:dedicated worker和shared worker;dedicated worker只能被初始化它的js上下文中使用;shared worker可以在多个js上下文中使用。通常使用的worker是dedicated worker,它的工作情况可以通过chrome的调试工具查看。
视频课堂https://edu.csdn.net/combo/detail/802
文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。
原文链接:aaaedu.blog.csdn.net/article/details/79261626
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)