"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重新输入代码。