无法从Internet Explorer 11中的字符串创建Web Worker

时间:2018-12-20 08:18:23

标签: javascript internet-explorer web-worker

无法使用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>

0 个答案:

没有答案