如何在后台服务工作者中导入 Jquery - 清单 V3 - Chrome 扩展

How to import Jquery in Background service worker - Manifest V3 - Chrome Extension

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

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

background.js

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

jQuery 是基于 DOM 的,所以它的 $.ajax 或 $.put 或 $.get 不会 运行 service worker 因为没有 DOM/document/window,因此没有这些方法使用的 XMLHttpRequest。 jQuery 的其他基于 DOM 的功能在 service worker 中也不可用。

解决办法是用fetch().
如果您需要像 onprogress 这样的更多功能,也可以使用基于 fetch 的库。

如果你还想使用它的其他实用功能,调用importScripts('jquery.min.js') MDN inside background.js, which will synchronously import the listed scripts so they can be used immediately afterwards (more info here),