问题描述
我将内容脚本注入到页面中,该页面从用户(从输入文件对话框)获取文件,我想从后台脚本上下文访问此文件以进行进一步处理。
因此,我生成了一个 blob URL (URL.createObjectURL(file)
) 并将其发送到后台脚本。 (我不直接使用消息传递 API 发送文件对象,因为 Chromium 浏览器不支持此功能,尽管这在 Firefox 中可以正常工作)
在后台脚本中,我尝试使用 Fetch API 访问 URL。这会导致 about:debugging
控制台出现错误,抱怨不允许从后台脚本域访问页面上下文域。
如果在我的 manifest.json
中配置了主机权限。根据{{3}},为我的扩展设置主机权限允许
XMLHttpRequest 并在没有跨源限制的情况下获取对这些源的访问(即使是从内容脚本发出的请求)。
我的假设是这也允许后台脚本访问页面源,因此也允许我从页面上下文中的 <input>
元素获取的文件对象。
在 Chrome 中,这种方法效果很好。
我的方法/解释是否正确?或者我是否遗漏了与跨域限制相关的内容,Chrome 在这方面是否更宽松?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)