gpt4 book ai didi

javascript - WKWebView 网络 worker 抛出错误 "Dom Exception 18 returns an error."

转载 作者:行者123 更新时间:2023-11-29 11:54:59 24 4
gpt4 key购买 nike

我正在使用 PhoneGap 编写一个应用程序。我想使用 javascript Web Worker。它在 Android 上运行良好。它还适用于带有 UIWebView 的 iOS。

我想在 iOS 9 中使用 WKWebView。我尝试使用 cordova-plugin-file 成功读取本地文件夹中的 .txt 文件。

我使用了以下教程: https://www.scirra.com/blog/ashley/25/hacking-something-useful-out-of-wkwebview

但这并没有解决...

new Worker ('js/tested.js');
Dom Exception 18 returns an error.
new Worker ('www/js/tested.js');
Dom Exception 18 returns an error.

我试图指定 worker javascript 文件的完整路径,但我得到了同样的错误:

new Worker (file_path+'js/tested.js');
Dom Exception 18 returns an error.

那么如何创建worker呢?

最佳答案

成功了!

Web workers without a separate Javascript file?

        var worker_js = null;

function fetchLocalFileViaCordova(filename, successCallback, errorCallback)
{
var path = cordova.file.applicationDirectory + "www/" + filename;

window.resolveLocalFileSystemURL(path, function (entry)
{
entry.file(successCallback, errorCallback);
}, errorCallback);
};

function fetchLocalFileViaCordovaAsText(filename, successCallback, errorCallback)
{
fetchLocalFileViaCordova(filename, function (file)
{
var reader = new FileReader();

reader.onload = function (e)
{
successCallback(e.target.result);
};

reader.onerror = errorCallback;
reader.readAsText(file);

}, errorCallback);
};

fetchLocalFileViaCordovaAsText("js/worker.js", function (js_script) { // Worker WKWebView
worker_js = window.URL.createObjectURL(
new Blob([js_script], { type: "text/javascript" })
);
});

if (worker_js != null) {
backgroundEngine = new Worker(worker_js);
} else {
backgroundEngine = new Worker("js/worker.js");
}

关于javascript - WKWebView 网络 worker 抛出错误 "Dom Exception 18 returns an error.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39527101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com