您可以加载一个JavaScript库。请参阅此示例:
<body>
<button>Start</button>
<div id="output"></div>
<script id="worker_1" type="text/js-worker">
importScripts(base_url + '/worker_lib2.js');
function run(event) {
var msg = event.data;
this.postMessage({ answer: hello(event.data.name)});
}
this.addEventListener('message', run, false);
</script>
<script>
var base_url = window.location.href.replace(/\\/g,'/').replace(/\/[^\/]*$/, '');
var array = ['var base_url = "' + base_url + '";' + $('#worker_1').html()];
var blob = new Blob(array, {type: "text/javascript"});
$('button').click(function() {
var url = window.URL.createObjectURL(blob);
console.log(url);
var worker = new Worker(url);
worker.addEventListener('message', function(event) {
$('#output').html(event.data.answer);
}, false);
worker.postMessage({
name: 'Steve'
});
});
</script>
</body>
使用包含hello函数的库worker_lib2.js。
function hello(msg) {
return 'Hello... ' + msg;
}
好的,但加载mp3到音频标签需要很多时间。工人们可以解决这个问题,但他们没有DOM。所以你如何建议我阅读文件的持续时间?包括什么?黑客如果不可避免..:O – Achshar
我增加了更多的答案。 – jfriend00
很好从包含我的意思是'我有一个functions.js有很多快速的应用程序相关的功能,它真的不会有意义的复制粘贴文件的内容在一个工人'(如[1]中所述)和是'importScripts'是我需要的,谢谢!从'hack'我的意思是像读取文件的内容并在eval中添加它们。 (是的,我知道这听起来很糟糕,但它会是一个原因),直到我阅读有关进口文件。对不起,如果我的问题感到跛脚,你可以告诉我,我是工作人员的新手..:O – Achshar