HTML5 Web Worker

举报
tea_year 发表于 2021/12/29 23:17:56 2021/12/29
【摘要】 <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <script src="js/jquery-1.8.3.min.js"></script> ...

  
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title></title>
  6. <script src="js/jquery-1.8.3.min.js"></script>
  7. <script>
  8. //WEB页主线程;
  9. var worker=new Worker("js/worker.js");
  10. //创建一个Worker对象,并向它传递将在新线程中;
  11. worker.postMessage("hello world SB"); //向worker发送数据
  12. worker.onmessage=function(evt){ //接收Worker传过来的数据函数
  13. console.log(evt.data);
  14. alert(evt.data);
  15. }
  16. /*检测浏览器是否支持*/
  17. $(function(){
  18. if(typeof(Worker)=="undefined"){
  19. $("#support").html("浏览器不支持HTML5 Web Worker!");
  20. }else{
  21. $("#support").html("浏览器支持Html5 Web Worker!");
  22. }
  23. });
  24. </script>
  25. </head>
  26. <body>
  27. <div id="support"></div>
  28. </body>
  29. </html>


  
  1. onmessage=function(evt){
  2. var d=evt.data;
  3. postMessage(d);
  4. }

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

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

全部回复

上滑加载中

设置昵称

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

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

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