美文网首页
【17】web workers的应用

【17】web workers的应用

作者: 业余玩家 | 来源:发表于2017-10-29 13:33 被阅读21次

    html5的web workers中提供了在浏览器后台执行js的api,通过它我们可以将一些复杂的逻辑处理放在后台,而不影响主页面的加载,但是由于web worker位于外部文件中,导致它无法访问window,document,parent这些js对象。

    在web worker中使用postmessage和onmessage进行通信,比如你可以在脚本中实现计算过程,然后将结果返回到主页面中。

    //webworker.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>webwork</title>
    
        <script type="text/javascript">
            var worker=new Worker("webwork.js");
            worker.postMessage("hello world");
            worker.onmessage=function(event) {
                console.log(event.data);
            }
        </script>
    </head>
    <body>
        
    </body>
    </html>
    
    //webwork.js
    onmessage=function(event) {
        var d=event.data;//获取发送来的数据
        postMessage(d);//将获取到的数据返回到主线程
    }
    

    相关文章

      网友评论

          本文标题:【17】web workers的应用

          本文链接:https://www.haomeiwen.com/subject/ymhhuxtx.html