【发布时间】:2017-08-09 15:46:55
【问题描述】:
为了发布具有新功能的 Chrome 扩展的新版本,我需要使用 Chrome unlimitedStorage 权限才能存储很长的字符串。但是,可选权限 API 不支持此权限,因此我无法以编程方式将权限添加到应用程序。这意味着我需要将其添加为普通权限,这将导致扩展对其所有用户禁用。
由于这不是一个选项,我不确定如何发布此更新。有什么办法可以解决扩展被禁用的问题吗?您是否建议在 Chrome Webstore 中以不同的名称创建一个全新版本的扩展程序,并要求用户通过弹出窗口迁移到该扩展程序?
此外,如果需要此信息,我尝试使用 chrome.storage.local API 存储的字符串是表示图像的数据 URI。我不知道具体的 URI 长度,因为这取决于用户上传的图像的大小。因此,也许可以在每项 8,192 字节的最大大小下压缩此图像,如 this Chrome API reference 中所述。
编辑
我刚刚注意到,unlimitedStorage 权限列在此 Chrome 扩展 API 参考页面上的“不会导致警告的权限”下:
https://developer.chrome.com/extensions/permission_warnings#nowarning
这是否意味着将权限添加到 Chrome 扩展的清单不会禁用扩展?有人可以确认吗?
【问题讨论】:
-
使用沙盒文件系统存储图像可能更容易:html5rocks.com/en/tutorials/file/filesystem
-
@DanielHerr 据我了解,文件系统 API 仅适用于 Chrome 应用程序和 ChromeOS,不适用于扩展程序。但是,我可能错了。
-
即用户文件系统api。沙盒版也适用于扩展程序和网站。
-
正如丹尼尔所说。有
chrome.fileSystem,还有一个(Chrome 特有的,非标准的)HTML FileSystem API(前一个基于)。
标签: javascript google-chrome google-chrome-extension permissions