diff --git a/src/angular-workers.js b/src/angular-workers.js index e0c6820..f71914e 100644 --- a/src/angular-workers.js +++ b/src/angular-workers.js @@ -3,6 +3,7 @@ angular.module('FredrikSandell.worker-pool', []) var that = {}; var urlToAngular; var serviceToUrlMap = {}; + var importURLs = []; /*jshint laxcomma:true */ /*jshint quotmark: false */ var workerTemplate = ["" @@ -60,6 +61,11 @@ angular.module('FredrikSandell.worker-pool', []) return that; }; + // add explicit URLs for importScripts(). Use-case: angular or/and worker code uses global libraries. + that.addImportURL = function (url) { + importURLs.push(url); + }; + that.createAngularWorker = function (depFuncList) { //validate the input @@ -104,6 +110,9 @@ angular.module('FredrikSandell.worker-pool', []) function createIncludeStatements(listOfServiceNames) { var includeString = ''; + angular.forEach(importURLs, function (url) { + includeString += 'importScripts(\''+url+'\');'; + }); angular.forEach(listOfServiceNames, function (serviceName) { if (serviceToUrlMap[serviceName]) { includeString += 'importScripts(\''+serviceToUrlMap[serviceName].url+'\');';