chrome.fileSystem仅在Chrome应用中可用

Jun*_*Jun 0 javascript google-chrome google-chrome-extension google-chrome-app

我有一个使用chrome.webRequest,chrome.browserAction等的扩展程序,但是我的扩展程序还需要访问文件系统(unsandboxed),我发现chrome.fileSystem可以执行此操作,但它仅适用于Chrome应用程序.因为我必须选择扩展名或应用程序,所以这意味着我不能同时使用chrome.webRequest和chrome.fileSystem?

我想知道为什么Chrome扩展不允许使用fileSystem API,我认为它会非常有用.

Ben*_*lls 5

简答:安全原因.

扩展程序被认为比应用程序风险更大.例如,扩展可以执行许多应用程序无法做到的事情,例如挂钩到Web请求或将脚本注入页面.应用程序通过CSP密封,它们的运行时模型更加孤立.

出于这个原因,被认为有风险的API - 以及fileSystem可能是我们拥有的最具风险的API - 默认情况下不会在扩展中提供.

已经说过,我们正在讨论如何为扩展提供更多API.