2014-07-22 145 views
0

我在使用骨幹的網頁中實現了webworker。一旦網頁開始加載,我想在我的index.html文件中啓動webworker。 這裏是我的index.html的javascript代碼:WebWorker with Backbone:「define is not defined」

var w; 
startWorker(); 
function startWorker() { 
    alert("new worker"); 
    if(typeof(Worker) !== "undefined") { 
     alert("new worker"); 
     if(typeof(w) == "undefined") { 
      alert("new worker"); 
      w = new Worker("js/models/worker_prefetch_starred.js"); 
     } 
     w.onmessage = function(event) { 
      // Comunication WebWorker <-> Webapp 
     }; 
    } 
} 

正如你本身,我只是創造了工人和工作正常。 這裏是我的worker_prefetch_starred.js webworker的JavaScript代碼:

define(["underscore", "backbone" ], 
    function ($, _) { 
     require('collections/folder_items').starred_items_fetched().then(function(starred_items) { 
     _.each(starred_items, function(item) { 
      var linked_item = item.get("item"); 
      linked_item.isOnWebsql(linked_item); 
     }); 
    }); 
}); 

當我執行的代碼,它拋出我:define is not defined 我該怎麼辦?

+0

您是否包含腳本標記來引用[require.js](http://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.8/require.js)?它是定義變量'define'的一個。 –

回答

0

您應該將

importScripts('require.js');
包含在worker_prefetch_starred.js文件中。

相關問題