资讯专栏INFORMATION COLUMN

ie8支持多线程的脑洞

leonardofed / 630人阅读

摘要:纯属开脑洞笑料,不要当真该脑洞是利用和建立的,支持最大的信息传输

纯属开脑洞笑料,不要当真

该脑洞是利用localStorage api和StorageEvent建立的,支持最大5m的信息传输233333

// main.html

var PageWorkerManager = {
  num: 4,
  pools: [],
  init: function () {
    for (var i = 0, len = this.num; i < len, i++) {
      window.open("MyWorkerPage.html?id=" + i, "_blank");
      this.pools.push({
        id: i,
        connect: false
      })
    }
    window.addEventListener("storage", this.handler.bind(this), false)
  },
  handler: function (evt) {
    this["on" + evt.key](evt.newValue, evt.oldValue);
  },
  oninited: function (id) {
    this.pools[id].connect = true
  },
  onclose: function (id) {
    this.pools[id].connect = false
  },
  postMessage: function (event, msg) {
    localStorage.setItem(event, msg)
  }
}

// MyWorkerPage.html
var PageWorker = {
  id: parseInt(this.getParams("id"), 10),
  init: function () {
    localStorage.setItem("inited", this.id)
    window.addEventListener("storage", this.handler.bind(this), false)
    window.addEventListener("beforeunload", this.beforeunload.bind(this), false)
  },
  handler: function (evt) {
    this["on" + evt.key](evt.newValue, evt.oldValue);
  },
  beforeunload: function () {
    localStorage.setItem("close", this.id)
  },
  postMessage: function (event, msg) {
    localStorage.setItem(event, msg)
  }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88938.html

相关文章

  • 【译】Python3中进行HTTP请求的4种方式

    摘要:由于是同一起进行分发和安装的,因此无需使用进行安装。首先用进行安装向发送请求输出结果我们刚刚向发出了一个请求,同时创建了一个名为的对象,之后使用内置的解码器来处理我们请求的内容。当每个请求成功后,响应内容将被添加到数据列表中。 翻译:疯狂的技术宅原文标题:HTTP Requests in Python 3原文链接:https://www.twilio.com/blog/2...本文首发...

    lordharrd 评论0 收藏0
  • 【译】确保网站性能的5个小贴士

    摘要:定期进行负载测试负载测试显示您的网站在一定数量的用户访问时的表现。如果负载测试显示的页面加载时间比预期的要长,那么网站设计的小改动就能带来所需的改进。 确保网站性能的5个小贴士 翻译:疯狂的技术宅作者:Jennifer Oksnevad英文标题:5 Tips to ensure website performance英文原文:https://www.catswhocode.com/b....

    ls0609 评论0 收藏0
  • 【译】确保网站性能的5个小贴士

    摘要:定期进行负载测试负载测试显示您的网站在一定数量的用户访问时的表现。如果负载测试显示的页面加载时间比预期的要长,那么网站设计的小改动就能带来所需的改进。 确保网站性能的5个小贴士 翻译:疯狂的技术宅作者:Jennifer Oksnevad英文标题:5 Tips to ensure website performance英文原文:https://www.catswhocode.com/b....

    singerye 评论0 收藏0
  • 【译】怎样在java中定义一个抽象属性

    摘要:我们的引擎使用预定义的分隔符来连接日志中的信息,并存储在一个中。在抽象类中定义带参数的构造函数在抽象类中定义动态属性的第一种方法是定义一个参数的构造函数。 翻译:疯狂的技术宅原文:http://programmergate.com/def...本文首发微信公众号:充实的脑洞 Abstract关键字通常被用于类和方法,用来把某些行为的实现委托给子类。由于Java不支持抽象属性,如果你试图...

    aervon 评论0 收藏0
  • 关于Python Magic Method的若干脑洞

    摘要:先从最初的脑洞开始吧。这样做的目的在于,把调用过程中的状态存储起来,借此实现带状态的调用。这种实例我们称之为函数对象。在里面也有同样的机制。对于真正的而言,肯定不会用这种的判断方式。 有一天闲着无聊的时候,脑子里突然冒出一个Magic Method的有趣用法,可以用__getattr__来实现Python版的method_missing。顺着这个脑洞想下去,我发现Python的Magi...

    fizz 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<