javascript - chrome.fileSystem 仅在 Chrome 应用中可用

标签 javascript google-chrome google-chrome-extension google-chrome-app

我有一个使用 chrome.webRequest、chrome.browserAction 等的扩展程序,但我的扩展程序还需要访问文件系统(未沙盒),我发现 chrome.fileSystem 可以做到这一点,但它仅在 Chrome 应用程序中可用。由于我必须选择扩展程序或应用程序,所以这意味着我不能同时使用 chrome.webRequest 和 chrome.fileSystem?

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

最佳答案

简短回答:安全原因。

扩展程序被认为比应用程序风险更大。扩展程序可以做很多应用程序无法做的事情,例如 Hook 网络请求或将脚本注入(inject)页面。应用程序通过 CSP 进行了密封,并且它们的运行时模型更加隔离。

因此,被认为有风险的 API(文件系统可能是我们拥有的风险最高的 API)默认情况下不会在扩展中提供。

话虽如此,关于如何为扩展提供更多 API 的讨论仍在继续。

关于javascript - chrome.fileSystem 仅在 Chrome 应用中可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22461059/

相关文章:

javascript - 从 console.log 自定义打印?

javascript - 使用平台 API 打开 Chrome 扩展

html - 无法让切换按钮向右浮动

javascript - Canvas:了解 globalCompositeOperation 以删除部分图像覆盖

javascript - 为 Bootstrap 重新创建 Aero Glass

javascript - 使用 lodash 将 JSON 转换为对象数组

node.js - 在Ubuntu Server上 puppeteer/ Chrome 失败

google-chrome - 如何更改我的 IIS Express SSL 证书,使其适用于 Chrome 58+?

javascript - Chrome 扩展 onCreatedNavigationTarget Listener 停止工作

javascript - 引用错误: jsonp not defined