我正在研究一个可以通过其他扩展进行扩展的模块化扩展。我正在寻找一种方法来读取扩展的manifest.json或者一个自定义文件,比如widgets.json。阅读另一个Chrome扩展程序的manifest.json
我试过this,即使允许<all_urls>
,但不幸的是面临着这样的错误:
XMLHttpRequest cannot load chrome-extension://aknpkdffaafgjchaibgeefbgmgeghloj/manifest.json. Cross origin requests are only supported for HTTP.
有没有我可以在分机之间交换数据的小型,简单的比特任何其他方式?我目前使用chrome.extension.sendRequest
,但这被证明是在background.html中的内存税。此外,它还使托管应用无法在其应用中嵌入小部件。
我非常感谢任何帮助。
注意:我也意识到jsonp是一个选项,但我宁愿不采取。恶意扩展可能很容易导致漏洞。
您想从清单中读取哪个字段? – serg
自定义字段,“窗口小部件”。我正在开发的扩展包含可由任何人创建的小部件。可悲的是,我目前的方法不适用于托管应用程序(chrome.extension.sendRequest)。 –
如果您想让其他扩展程序和应用程序与您通话,可以让您的扩展程序具有“web_accessible_resources”下列出的html页面,接受消息并写入localStorage。其他扩展将创建一个iframe将该页面嵌入到其后台页面中,他们可以使用postMessage向其发送消息,并且该页面将写入消息localStorage。您的扩展后台页面可以从localStorage中读取消息。 – AgentME