如何从不同来源的 Chrome 扩展程序提供文件?
Posted
技术标签:
【中文标题】如何从不同来源的 Chrome 扩展程序提供文件?【英文标题】:How to serve files from a Chrome extension under different origin? 【发布时间】:2016-02-26 04:40:34 【问题描述】:我想提供来自不同于 Chrome 扩展程序本身来源的 Chrome 扩展程序的文件。理想情况下,我希望来源是多个并且可以配置。这个想法是,然后我可以将它们加载到 <iframe>
中,并且它们有自己的独立起源。
【问题讨论】:
【参考方案1】:使用不带allow-same-origin
指令的sandbox
(as an iframe attribute 或via the "sandbox" key in the manifest file)。然后该页面将具有唯一的来源(并且它无法访问特定于扩展来源的 API)。
【讨论】:
抱歉,如果我的问题不清楚(我应该更新它吗?),但我想要受控来源。因此,添加到页面的多个iframe
s 扩展将共享。 sandbox
的问题在于它具有唯一的来源,并且您不能创建另一个具有相同唯一来源的 iframe
。
@Mitar 这不是真的受支持。你的用例是什么?
我想做一个扩展,允许网络应用程序将一些内容存储到一个特殊的客户端唯一源中,以便他们可以在iframe
中显示它,但应用程序本身不能不再访问内容(因为它来自不同的来源)。这很容易通过使用扩展的来源来完成。但是所有网络应用程序都共享相同的扩展名。我希望每个应用程序都可以有自己的存储内容集来源。
@Mitar 然后,您可以按照我的建议使用沙盒 iframe,并注入一个脚本,该脚本公开一个处理原始特定功能的 API。或者开发一个应用程序并使用<webview>
(注意:这仅在应用程序中支持,在扩展程序中不支持)。以上是关于如何从不同来源的 Chrome 扩展程序提供文件?的主要内容,如果未能解决你的问题,请参考以下文章