Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

SharedWorker操作封装

  虽然前面几篇文章中抱怨了SharedWorker的各种问题,但也不会因此放弃SharedWorker,毕竟这些问题都是可以通过一些手段来解决的。所以现在把这些问题集中起来解决好,并封装成更容易使用的库。现在的版本也许还有很多问题,以后可以慢慢完善。
  由于封装中需要用到事件模型,而这东西现在又没有规范,所以引入了 EventModel。而且代码有点长,还分为了两个文件:
     WorkerServer.js
     WorkerClient.js
  所以这里就不把代码贴出来了,只放出使用演示。
<!--test.html-->
<input type="text" id="text" />
<input type="button" id="send" value="发送" /><br/>
<script src="http://www.web-tinker.com/files/EventModel.1.1.js"></script>
<script src="http://www.web-tinker.com/files/WorkerSuite.1.0/WorkerClient.js"></script>
<script>
new WorkerClient("worker.js",function(){
  var that=this;
  send.onclick=function(){
    that.send(text.value);
  }
},null,function(data){
  document.body.insertAdjacentHTML("beforeend",data+"<br/>");
});
</script>
//worker.js
importScripts("http://www.web-tinker.com/files/WorkerSuite.1.0/WorkerServer.js");
new WorkerServer(null,null,function(req,data){
  this.forEach(function(connection){
    connection.send(data);
  });
});
网名:
34.203.213.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^