问题描述
|
我敢肯定这是可能的,但我似乎无法弄清楚。
我正在构建Chrome扩展程序,并且已在localStorage [\“ url \”]中设置了一个特定于用户的API URL。但是,我需要将其添加到manifest.json文件的权限中。不过,看来我没有访问清单中的localStorage的权限。
有没有办法做到这一点?
解决方法
如果您担心跨源许可,那么API URL中最重要的就是一个域。
如果它们具有公共域,则只需在权限中声明它。如果存在一组域,则可以声明用逗号分隔的域列表。如果域对于每个用户都是唯一的(很难想象),那么除了声明全范围
http://*/
,您别无选择,这不是世界末日。
, 没有
仅仅是因为Chrome扩展程序中的清单是纯JSON,这意味着它仅被解析为文本,并且不能包含严格的JSON规范所不允许的其他数据类型或文字。因此,您不能包含函数,也不能包含将被调用以返回值的函数。
您甚至都无法输入评论(实际上,您现在似乎可以发表评论了,但之前情况并非如此)。
您也可以通过提供可按需生成扩展的Web服务来实现目标。它将基于每个用户填充manifest.json,并压缩并签名您的扩展名。但是,它无法在Chrome网上应用店中安装,因此您需要自己托管。
, 我很确定这是不可能的;您必须在不同于manifest.json
的文件中设置API URL,然后手动请求权限。这样做的原因是为了避免权限劫持:如果您的ѭ2受到损害,那么从理论上讲,该扩展可以在不需要用户干预的情况下连接到任何需要的地方。