HTML5(Web Workers)

<!DOCTYPE html>
<html>
<body>
<!--<output> 标签定义不同类型的输出,比如脚本的输出。是 HTML 5 中的新标签-->
<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")
        {
            if(typeof(w)=="undefined")
            {
                w=new Worker("js/worker.js");
            }
            //将even(事件)作为参数,就是这个“点击”事件,通过这个even,可以获取到event.target,
            //onmessage在postMessage后执行
            w.onmessage = function (event) {
                //data属性的返回值是任意类型,返回绑定当前事件处理函数时传递的附加数据。其类型取决于在绑定当前事件处理函数时所传入的附加数据的类型。
                document.getElementById("result").innerHTML=event.data;//event.data得到的是postMessage参数传递的东西
            };
        }
        else
        {
            document.getElementById("result").innerHTML="Sorry, your browser does not support Web Workers...";
        }
    }

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

</body>
</html>

/**
 * Created by renzhenming on 2018/3/12.
 */
var i=0;
//t=setTimeout(timedCount,1000)
//1000毫秒后执行timedCount函数,而timedCount函数里面又有t=setTimeout(timedCount,1000)
//,然后就一直执行了
function timedCount()
{
    i=i+1;
    postMessage(i);
    setTimeout("timedCount()",500);
}

timedCount();
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容