HTML5 WebWorker和Rails 3错误

时间:2012-12-10 12:00:45

标签: javascript ruby-on-rails-3

我正在尝试实现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

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

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

2 个答案:

答案 0 :(得分:0)

javascript文件(play.js)应该放在公共文件夹中,或者至少是我为了让它工作而做的事情。

答案 1 :(得分:-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');
    }
}