如何解决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 举报,一经查实,本站将立刻删除。