考虑一下......
trueWorker = Worker;
Worker = function(src){
return new trueWorker(src);
}
myWorker = new Worker(window.URL.createObjectURL(
new Blob(["'use strict;'"],{type:'text/javascript'})
));
在Chrome中,这很好用:myWorker
是一个合适的工作者。这很有用,因为它意味着您可以拦截对本机构造函数的调用,并且仍然返回一个Worker(或者在幕后返回一个类似于工作者的trueWorker
接口)。
但是在Firefox myWorker
中是某种没有属性的dud对象。
发生了什么事?哪个浏览器是对的?有没有办法让Firefox按我的意愿行事?