无法使用IE11中的BLOB-URL创建内联式Web工作程序。 在Edge,Firefox,Chrome中正常运行。 (所有浏览器都是最新的。)
例如下面的JavaScript代码无法创建网络工作者。
try{
var blob = new Blob(["(" + function1.toString() + ")(" + parametersJSON + ")"], {type: 'application/javascript'});
var x = window.URL.createObjectURL(blob);
var worker = new Worker(x);
} catch(err){
console.log(err);// displays "invalid function" in IE11.
}
有帮助吗?
还有其他选择吗?实现不使用外部文件就从字符串创建Web Worker的目标? (应该在InternetExplorer 11+中工作)
完整代码如下:
<html>
<head>
<title>Web Worker Test</title>
<script>
function function1(parametersJSON){
console.log(parametersJSON.testKey1);
}
try{
var parametersJSON = {'testKey1':'foo','testKey2':'bar'};
var parametersJSONString = JSON.stringify(parametersJSON);
var blob = new Blob(["(" + function1.toString() + ")(" + parametersJSONString + ")"], {type: 'application/javascript'});
var x = window.URL.createObjectURL(blob);
var worker = new Worker(x);
} catch(err){
console.log(err);// displays "invalid function" in IE11.
}
</script>
</head>
<body>
Test
</body>
</html>