2

我正在尝试实现一个 HTML5 WebWorker,我正在使用 rails 3。我的 js 代码中有这个:

//当body(DOM)准备好时

$(function() { 
....
..
    //test html5 webworkers
    $('#test_html5_workers').click(function() {
      var worker=new Worker('play.js');
      worker.addEventListener('message', function(e) {
        console.log('Worker said: ', e.data);
      }, false);

      worker.postMessage('Hello World'); // Send data to our worker.
    });
..
....
)};

在另一个文件中我有这个(在 play.js 中)

self.addEventListener('message', function(e) {
  self.postMessage(e.data);
}, false);

我目前收到此错误:

找不到脚本文件:play.js

我尝试过其他文件路径名,但没有成功。

任何想法为什么我得到这个,因为这两个文件都在同一个目录中,资产/javascripts?我正在使用 Firefox 17.0.1

4

2 回答 2

0

javascript 文件 (play.js) 应该放在公用文件夹中,或者至少我是这样做的。

于 2013-04-08T17:14:09.273 回答
-1

这适用于我的。

(function() { 
    //test html5 webworkers
    $('#test').on('click', function(){
        if(window.Worker){
            var worker = new Worker('test.js');
            worker.onmessage = function(e){
                alert('worker said: ' + e.data);
            }
            worker.postMessage('start');
        }
    });
})();

//test.js
self.onmessage = function(e){
    if(e.data === 'start'){
        self.postMessage('booyeah');
    }
}
于 2012-12-10T13:34:29.230 回答