HTML5のWeb Worker
2016-02-13 12:55
561 查看
HTML5のWeb Worker
Web Worker简述
web worker 是运行在后台的 JavaScript,不会影响页面的性能。使用步骤
1> 检查浏览器是否支持Web Workerif (typeof Worker != "undefined") { // support } else { // your browser does not support }
2>创建Web Worker对象,执行后台任务
if (typeof worker == "undefined") { worker = new Worker("task.js"); } worker.onmessage = function(event) { message = event.data; detailSpan.innerHTML = message; };
3> 终止Web Woker
function terminate() { worker.terminate(); worker = undefined; }
实例
使用按钮控制后台执行任务,html代码如下:<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<noscript>Your browser does not support JavaScript pluin</noscript>
<script type="text/javascript">
var worker;
var message = "";
function start() {
var detailSpan = document.querySelector("#detail");
if (typeof Worker != "undefined") {
if (typeof worker == "undefined") { worker = new Worker("task.js"); } worker.onmessage = function(event) { message = event.data; detailSpan.innerHTML = message; };
} else {
message = "Sorry, your browser does not support web workers.";
detailSpan.innerHTML = message;
}
}
function terminate() {
worker.terminate();
worker = undefined;
}
</script>
<style type="text/css">
#status {
width: 600px;
height: 200px;
border:#CCDD66 1px solid;
margin:0 auto;
}
#btns {
margin-top: 20px;
text-align: center;
}
</style>
</head>
<body>
<div id="status">
<h3>status</h3>
<span id="detail"></span>
</div>
<div id="btns">
<button type="button" onclick="start()">Start</button>
<button type="button" onclick="terminate()">Terminate</button>
</div>
</body>
</html>
task.js表示后台执行任务,代码如下:
var indexNumber = 0; function timeCount() { indexNumber += 1; postMessage(indexNumber); setTimeout("timeCount()", 500); } timeCount();
联系我
相关文章推荐
- HTML5开发实战——Sencha Touch篇(2)
- html5全屏
- HTML5开发实战——Sencha Touch篇(1)
- html5原生canvas内image旋转
- HTML5开发移动web应用——Sencha Touch篇(12)
- html5 旋转 canvas
- html5 画笔(brush)
- html5 太阳系(2)
- html5 太阳系(1)
- html5 form表单
- html5 时钟
- html5在线画板
- 在PC端实现HTML5-geolocation的一些细节
- HTML5 Canvas之填充样式
- HTML5 Canvas绘图之文字的渲染
- HTML5 Canvas学习笔记之详解弧线的绘制
- HTML5开发移动web应用——Sencha Touch篇(11)
- HTML5开发移动web应用——SAP UI5篇(4)
- HTML5开发移动web应用——Sencha Touch篇(10)
- 离线安装CDH5集群及相关软件