如何在后台service worker语言 - Manifest V3 - Chrome扩展中导入Jquery


"manifest_version": 3,
"background": {
"service_worker": "background.js"
}

我需要在后台使用Jquery .js。我不能在清单中添加jquery.min.js,因为有了新的升级v3,我不能在service_worker中声明多个JS。我该如何解决?

background.js

$.ajax({
type: "POST",
url: "https://wwww",
data: {text: "xxx"}
});

jQuery是基于dom的,所以它的$。Ajax或$。输入或$。get不会在service worker中运行因为没有DOM/文档/窗口,因此没有这些方法使用的XMLHttpRequest。jQuery的其他基于dom的特性在service worker中也是不可用的。

解决方案#1是使用fetch().
如果你需要更多诸如onprogress之类的功能,也可以使用基于获取的库。

解决方案#2是在Chrome 109+中使用jQuery.ajax中的屏幕外文档。

您仍然可以使用JQuery-noDOM来使用ajax等,而无需使用fetch重新输入代码。

最新更新