js 性能优化 - web worker
2024-09-05 18:32:00
当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。
web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。
您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。
细节:
所有主流浏览器均支持 web worker,除了 Internet Explorer。 (包括 edge )
由于 web worker 位于外部文件中,它们无法访问下例 JavaScript 对象:
- window 对象
- document 对象
- parent 对象
过程:
w=new Worker("demo_workers.js"); - postMessage() (event.data) - w.terminate();
<!DOCTYPE html>
<html>
<body> <p>Count numbers: <output id="result"></output></p>
<button onclick="startWorker()">Start Worker</button>
<button onclick="stopWorker()">Stop Worker</button>
<br /><br /> <script>
var w; function startWorker()
{
if(typeof(Worker)!=="undefined")
{
if(typeof(w)=="undefined")
{
w=new Worker("demo_workers.js");
}
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()
{
w.terminate();
}
</script> </body>
</html>
最新文章
- ORA-19563: header validation failed for file
- Myeclipse 自定义代码自动格式化(ctrl+alt+F)
- [AngularJS] TweenList 3D + AngularJS Animate
- Java网页数据采集器[下篇-数据查询]【转载】
- css书写顺序和常用命名推荐
- IQC,QA,FQC,OQC,IPQC的定义与职责
- C# 保留小数点后两位(方法总结)
- D6
- mysql zip 版安装
- asp.net mvc 5 关闭xss过滤
- Poi 生成xls
- Confluence 6 你模板中可用的对象
- 两道面试题,带你解析Java类加载机制
- GRUB2 命令行使用笔记
- svg绘图工具raphael.js的使用
- ASP.NET MVC HtmlHelper 默认值
- android studio 卡慢的问题(android studio 3.0)
- 2018/4/26 python文件处理方式
- selenium IDE 命令 一
- LeetCode-Algorithms 1. 两数之和