【技术重温】html之重点(十)

来源:互联网 发布:linux查看存储空间 编辑:程序博客网 时间:2024/05/29 02:50

Web Workers


当在 HTML 页面中执行脚本时,页面是不可响应的,直到脚本已完成。
Web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 运行在后台。

在实现上需要关心的重点有2个:
worker如何后前台页面交互,即后台进程在做完某件事情后如何通知前台页面?
2个方法实现:
1)后台进程通过postMessage()通知前台,postMessage可以带上回传的参数,最终存储在event.data中
2)前台页面通过worker.onmessage(event)获取后台参数,通过event.data获取参数

需要注意: web worker无法直接访问DOM对象



实例


<!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! No Web Worker support.";
    }
}

function stopWorker() { 
    w.terminate();
    w = undefined;
}
</script>

</body>
</html>


demo_workers.js:
var i = 0;


function timedCount() {
    i = i + 1;
    postMessage(i);
    setTimeout("timedCount()",500);
}


timedCount();

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 女生的三围 标准三围女 三围女人 正常三围 三围指的是哪三围 三围是什么 沈卓盈三围 三围标准对照表 三围是指哪里 女生标准三围 关婷娜三围图片 女士三围标准量法图 魔鬼身材三围 胡梦媛胸围三围私房照 三围指什么意思 女性三围测量正确图解 三围黄金比例 三围比例多少算完美 惠若琪三围真大 女生三围黄金比例 三围比例怎样才算好 宁静三围图片 女性三围黄金比例 女性三围标准比例 夏侯琪誉三围图片 三围测量方法 黄金比例三围 正常女生三围 标准三围对照表 三围多少算身材好 女生三围标准比例 女性三围标准对照表 女人三围标准尺寸 三围怎么量图解 标准三围是多少 三围标准对照表图片 女性标准三围 三围是什么意思 女人标准三围是多少 量三围标准量法图 三围标准尺寸