如何在Shared Worker中运行EventSource?

时间:2015-06-30 18:15:24

标签: javascript jquery server-sent-events shared-worker

我实施了server-sent events来接收来自服务器的消息。我描述了我是如何在another question

上实现它的

现在我尝试在shared worker内运行它,以防止用户通过多个浏览器标签打开与服务器的多个连接。

以下是我在共享工作程序中运行代码所做的工作

创建了一个文件calles worker.js并将此代码放在其中

self.addEventListener('getMessagingQueue', function (event) {
    console.log('Listener is Available');
    var thisp = this;
    var eventSrc = new EventSource('poll.php');

    eventSrc.addEventListener('getMessagingQueue', function (event) {

    var message = JSON.parse(event.data);

    thisp.postMessage(message);

    }, false);

}, false);

然后当HTML页面加载时我调用此代码

$(function(){       

        var worker  = new SharedWorker('worker.js');

        worker.addEventListener('getMessagingQueue', function (event) {
          var message = event.data;

          console.group('Message Received');
          console.log( message );
          console.groupEnd();

        }, false);

    });

但是代码没有从服务器返回消息。

如何在共享工作者中正确运行EventSource事件?

0 个答案:

没有答案