spa*_*kle 13 google-chrome-extension
"manifest_version": 3,
"background": {
"service_worker": "background.js"
}
Run Code Online (Sandbox Code Playgroud)
我需要在background.js 中使用Jquery。我无法在清单中添加 jquery.min.js,因为使用新的升级 v3,我无法在 service_worker 中声明多个 JS。我该如何解决?
背景.js
$.ajax({
type: "POST",
url: "https://wwww",
data: {text: "xxx"}
});
Run Code Online (Sandbox Code Playgroud)
wOx*_*xOm 12
jQuery 是基于 DOM 的,因此它的 $.ajax 或 $.put 或 $.get 不会在 Service Worker 中运行,因为没有 DOM/文档/窗口,因此没有这些方法使用的 XMLHttpRequest。jQuery 的其他基于 DOM 的功能在 Service Worker 中也无法使用。
解决方案#1 是使用fetch()。
如果您需要更多功能(例如 onprogress),还有基于 fetch 的库。
解决方案#2 是在 Chrome 109+ 中的屏幕外jQuery.ajax文档内使用。
| 归档时间: |
|
| 查看次数: |
10064 次 |
| 最近记录: |