Firefox 扩展的后台脚本能否向页面上下文中的 blob url 发出跨源请求?

问题描述

我将内容脚本注入到页面中,该页面从用户(从输入文件对话框)获取文件,我想从后台脚本上下文访问此文件以进行进一步处理。 因此,我生成了一个 blob URL (URL.createObjectURL(file)) 并将其发送到后台脚本。 (我不直接使用消息传递 API 发送文件对象,因为 Chromium 浏览器不支持此功能,尽管这在 Firefox 中可以正常工作)

在后台脚本中,我尝试使用 Fetch API 访问 URL。这会导致 about:debugging 控制台出现错误,抱怨不允许从后台脚本域访问页面上下文域。

如果在我的 manifest.json 中配置了主机权限。根据{{​​3}},为我的扩展设置主机权限允许

XMLHttpRequest 并在没有跨源限制的情况下获取对这些源的访问(即使是从内容脚本发出的请求)。

我的假设是这也允许后台脚本访问页面源,因此也允许我从页面上下文中的 <input> 元素获取的文件对象。

在 Chrome 中,这种方法效果很好。

我的方法/解释是否正确?或者我是否遗漏了与跨域限制相关的内容,Chrome 在这方面是否更宽松?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)