zoukankan      html  css  js  c++  java
  • HTML5 Web Workers使用

    1.什么是Web Worker?

    web worker 是运行在后台的 JavaScript,不会影响页面的性能。(类似于c#后台线程?)

    2.如何使用

    计数器例子:

    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
        <meta charset="utf-8" />
    </head>
    <body>
        <p>计数<output id="result"></output></p>
        <input type="button" value="开始" onclick="start()" />
        <input type="button" value="结束" onclick="stop()"/>
    </body>
    </html>
    <script type="text/javascript">
        var w;
        function start()
        {
            if (typeof (Worker)!="undefined") //判断浏览器是否支持Worker功能
            {
                if (typeof (w) == "undefined")
                {
                    w = new Worker("/Scripts/Worker.js");//加载一个自定义的js
                }
                w.onmessage = function (event)//用于返回消息
                {
                    document.getElementById("result").innerHTML = event.data;//消息中的数据
                }
            } else
            {
                document.getElementById("result").innerHTML = "不支持Worker";
            }
        }
    
        function stop()
        {
            w.terminate();//此方法用于结束worker
            w = undefined;
    
        }
    </script>
    Worker.js(做一个线程自动加数)
    var i = 0;
    
    function timedCount() {
        i = i + 1;
        postMessage(i);//用于worker 发消息
        setTimeout("timedCount()", 500);
    }
    
    timedCount();

    如果worker为外部文件,像上面那样引用别的js,无法使用html中的window、document、parent对象

  • 相关阅读:
    一、vue常用指令
    win10安装和配置node
    win10安装和配置java8
    二、vue-cli4.5脚手架创建vue项目
    配置分布式事务实例:springcloud-Hoxton.SR1+springboot2.2.2+nacos1.3.2+seata1.2.0
    centos7安装frps_0.31.1
    centos7安装nginx1.18.0
    docker安装nexus3
    centos7防火墙的配置
    centos7使用Apache实现HTTP访问SVN资源库
  • 原文地址:https://www.cnblogs.com/daimaxuejia/p/12468727.html
Copyright © 2011-2022 走看看