HTML5 Web Worker

举报
tea_year 发表于 2021/12/29 23:17:56 2021/12/29
1.7k+ 0 0
【摘要】 <!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 workershared 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

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。