HTML5Web Workers

Posted 嘉禾世兴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML5Web Workers相关的知识,希望对你有一定的参考价值。

什么是 Web Worker?

当在 html 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。

web worker 是运行在后台的 javascript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。

 

计数器:

<!DOCTYPE html>
<html>
<body>

<p>计数: <output id="result"></output></p>
<button onclick="startWorker()">开始 Worker</button> 
<button onclick="stopWorker()">停止 Worker</button>
<br /><br />

<script>
var w;

function startWorker()
{
if(typeof(Worker)!=="undefined")
  {
//下面的代码检测是否存在 worker,如果不存在,- 它会创建一个新的 web worker 对象,然后运行 "demo_workers.js" 中的代码:
  if(typeof(w)=="undefined")
  {
  w=new Worker("/example/html5/demo_workers.js");
  }
//向 web worker 添加一个 "onmessage" 事件监听器:
  w.onmessage = function (event) {
    document.getElementById("result").innerHTML=event.data;
    };
  }
else
  {
  document.getElementById("result").innerHTML="Sorry, your browser does not support Web Workers...";
  }
}

function stopWorker()
{ 
//如需终止 web worker,并释放浏览器/计算机资源,请使用 terminate() 方法:
w.terminate();
}
</script>

</body>
</html>

 

以上是关于HTML5Web Workers的主要内容,如果未能解决你的问题,请参考以下文章

HTML5Web存储

谷歌加载web workers问题

Web Workers

如何修复错误 - 执行 com.android.build.gradle.internal.tasks.Workers$ActionFacade 时发生故障

HTML5 Web 存储

nginx statistics in multi-workers