【发布时间】:2022-11-11 01:50:51
【问题描述】:
我正在开发一个带有 chrome 扩展 V3 的项目。
我想在用户上传文件时显示进度条。
我在这里苦苦挣扎的是,Fetch API 似乎不支持 ajax 中的“xhr”之类的东西。
使用 chrome 扩展 V2,我能够执行以下操作。
$.ajax({
.....
xhr: () => {
const myXhr = $.ajaxSettings.xhr();
myXhr.upload.addEventListener(
'progress',
myHandleEvent,
false
);
}
.....
});
由于 ajax 不再适用于 chrome V3,我需要找到一种方法来使用 Fetch API。
我自己用以下几页做了一些研究。
- https://developer.chrome.com/articles/fetch-streaming-requests/
- https://developer.mozilla.org/en-US/docs/Web/API/Streams_API/Using_readable_streams
- Upload progress indicators for fetch?
- https://chromestatus.com/feature/5274139738767360
- https://groups.google.com/a/chromium.org/g/blink-dev/c/zwKGB0_ksQU/m/mtVsZDH1AwAJ
- https://github.com/w3ctag/design-reviews/issues/754
到目前为止,我的结论是流媒体对上传的支持还没有准备好。
我做出了正确的结论吗?
我只需要等到它可用吗?
或者有人有任何解决方法吗?
最后,我在这里遗漏了什么吗?
【问题讨论】:
-
正如 crstatus 页面所说,它现在处于原始试用阶段,默认情况下尚未启用。
标签: ajax google-chrome-extension fetch-api chrome-extension-manifest-v3