将 Chrome 扩展上的权限移至可选

2024-05-15

我了解到 Chrome 在添加新权限时会禁用扩展程序。

当我向扩展添加新功能时,我需要在permissions列表。现在我知道我应该使用optional_permissions.

我的问题是:

  1. 如果我将网站列表从permissions to optional_permissions用户是否需要再次批准这些网站?或者只是我随着时间的推移添加的那些。
  2. 这些更改是否会导致扩展被禁用?:

    A。我将网站添加到matches条目的一部分content_scripts

    b.我将网站添加到matches条目的一部分externally_connectable

  3. 有没有办法定义externally_connectable in optional_permissions?

相关链接:chrome.permissions https://developer.chrome.com/extensions/permissions | 权限警告 https://developer.chrome.com/extensions/permission_warnings


Update:当 Chrome 禁用我的扩展程序时,我在清单中添加了一个网站content_scripts > matches and externally_connectable with a matches地点。后者在权限警告中显示了一个新行:"Communicate with cooperating websites"。我不确定哪个更改导致了禁用,这就是我询问的原因externally_connectable too.


为了测试当 Chrome 禁用扩展程序时我在 Chrome 网上应用店中创建了一个私有扩展程序。

我从一个简单的定义开始manifest.json然后我一一添加字段和设置。对于每个测试,我:

  1. 已将新版本上传到商店
  2. 等待 Google 发布扩展(这花了很多时间!)
  3. 强制测试人员帐户上的扩展更新
  4. 写下结果

After 13 tests,这就是我发现的:


改变在manifest禁用扩展

  • 添加条目于"content_scripts" > "matches"[警告: ”在 example.com 上读取和更改您的数据"]
  • Adding "externally_connectable" > {"ids", "matches"}[警告: ”与合作网站沟通"]

改变在manifest没有禁用扩展(没有警告)

  • Adding "declarativeContent"允许
  • Adding "optional_permissions"> 所有主机
  • 添加条目于"externally_connectable" > "ids" (after externally_connectable被接受)
  • 添加条目于"externally_connectable" > "matches" (after externally_connectable被接受)
  • 添加无权限主机条目"externally_connectable" > "matches" (after externally_connectable被接受)
  • Adding "incognito": "split"
  • Adding "content_security_policy"> 脚本-src URL
  • Adding "web_accessible_resources"

另外,权限列出于权限警告#nowarning https://developer.chrome.com/extensions/permission_warnings#nowarning docs.

我可能做了一些愚蠢的测试,比如"web_accessible_resources",但我更喜欢这样,而不是让 Chrome 再次禁用我的扩展程序。


特殊测试

因为我要搬到optional_permissions,列出的所有主机permissions被删除。因此,我想知道当新更新不再具有有问题的权限时,禁用的扩展会发生什么情况:

更新1:添加了一个新主机"content_scripts" > "matches"=> 扩展已禁用

更新 2:有问题的主机已从"content_scripts" => 扩展再次启用

总而言之,如果您犯了错误,您可以发布新版本,回滚导致扩展被禁用的更改.

如果我将网站列表从permissions to optional_permissions用户是否需要再次批准这些网站?或者只是我随着时间的推移添加的那些。

答案很简单,不。随着时间的推移,Chrome 会存储授予该扩展程序的所有权限。因此,只有新主机optional_permissions需要得到批准。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Chrome 扩展上的权限移至可选 的相关文章

随机推荐

  • 如何在 Bootstrap 4 中垂直对齐?

    我试图在 Bootstrap 4 4 0 0 alpha 6 中将我的大屏幕的内容垂直对齐在中心 在 Mac 桌面上的 Chrome 和 Safari 中 这种情况发生得很好 但在我的 iOS 设备上则不然 文本仍然与顶部对齐 我强制大屏幕
  • 如何限制Erlang VM(BEAM)使用的核心数量?

    我正在具有 2 个四核 Xeon E5520 2 2GHz 24 0GB RAM 和 Erlang R15B02 启用 SMP 的节点上运行实验 我想知道是否可以限制Erlang VM使用的核心数量 以便我可以暂时禁用一些核心并逐步增加数量
  • 与 Eclipse 中的 Java Content Assist 交互

    作为我的插件项目的一部分 我正在考虑与 Eclipse 在 Java 文件上显示的内容辅助列表进行交互 我正在尝试根据一些外部数据对列表进行重新排序 我看过一些有关创建新内容辅助的教程 但没有看到有关更改现有内容辅助的教程 这可能吗 如果是
  • Razor 如何创建一个复选框并使其只读?

    我正在使用 MVC 3 和 Razor 目前我正在使用 model MyProject ViewModels MyViewModel foreach var item in Model MyProperty tr td Html Actio
  • 回归时如何设置系数值;右

    我正在寻找一种指定预测变量值的方法 当我使用当前数据运行 glm 时 其中一个变量的系数接近 1 我想将其设置为 0 8 我知道这会给我一个较低的 R 2 值 但我先验地知道模型的预测能力会更大 glm 的权重组件看起来很有希望 但我还没有
  • 编辑角度材质的表格单元格填充

    当我使用开发人员工具检查该元素时 它显示零填充 但是当我查看它并将鼠标悬停在它上面时 它非常清楚地在单元格内具有填充 我不知道这是从哪里来的 并且设置td padding 0 important 什么也没做 感知到的填充是由以下原因引起的d
  • readthedocs 中自动生成的索引文件

    我无法上传到阅读文档 http docs readthedocs io en latest 我为我的项目准备的文档 我正在尝试了解问题所在 该文档在本地构建良好make html但我无法上传 GitHub 项目是ASCII基因组 https
  • Google 地图位于活动的中间区域

    我正在使用 Android studio 2 1 2 我检查了一下 大多数问题要么使用旧版本的 Android studio 要么使用一些旧的类 这些类不适用于我的情况 从文件 gt 新项目 gt 我使用了选项Google Maps Act
  • .NET Core == .NET Framework 5 吗?

    我一直在寻找书籍来研究最新的 NET Framework 据我所知 NET 最高为 4 6 但 ASP NET 最高为 5 核心 NET Core 是 NET 5 的名称还是我们目前仍使用 NET 4 6 去引用斯科特 汉塞尔曼 http
  • ValueError:张量:(...)不是该图的元素

    我正在使用 keras 的预训练模型 在尝试获取预测时出现错误 我在烧瓶服务器中有以下代码 from NeuralNetwork import app route uploadMultipleImages methods POST def
  • 在生产中使用 babel-node 可以吗

    我一直在使用 babel node 和 browserify 以及 babelify 转换来开发一个网站 以支持 ES6 语法 我只是想知道 我可以在生产中运行它吗 babel node server 而不是 node server 要在
  • 如何使用 runOnUiThread 而不出现“无法对非静态方法进行静态引用”编译器错误

    我有一个主课 ClientPlayer extends Activity 和一项服务 LotteryServer extends Service implements Runnable 当尝试在此服务的 run 方法中使用 RunOnUiT
  • 日志中每天的每周活跃用户数

    我想知道是否有人可以帮助我使用一些 SQL 来返回两天或更长时间内登录到数据库表的唯一用户数量 让我们使用 7 天作为参考 我的日志表在每一行中包含时间戳 ts 和 user id 表示该用户当时的活动 以下查询返回此日志中的每日活跃用户数
  • eclipse行号状态行贡献项是如何实现的?

    我需要更新状态行编辑器特定的信息 我已经有了自己的实现 但我想看看 eclipse 贡献项是如何实现的 它显示状态行中的行号 列位置 谁能指点一下 哪里可以找到源代码 提前致谢 亚历克斯 G 我一直在研究它 它非常复杂 我不确定我是否了解完
  • 连接到 Visual Studio 中的构建过程

    我正在编写一个 Visual Studio 扩展 它允许编辑项目中特定类型的文件 该文件用作进一步自动代码生成的描述 类似于实体框架 我需要在构建项目之前执行代码生成 其中包含描述文件 代码生成算法 当前 放置在描述文件的编辑器内 有没有办
  • MANIFEST.in、package_data 和 data_files 澄清吗?

    我正在尝试创建一个 Python 包 并且目录结构如下 mypkg init py module1 x py y py z txt module2 a py b py 然后我将所有文件添加到MANIFEST in当我检查创建的存档时 它包含
  • 从 iOS 应用程序打开 YouTube 频道的最新 URL 方案是什么 [重复]

    这个问题在这里已经有答案了 我想使用 iPhone 应用程序中的频道打开 Youtube 应用程序 以前我使用以下 URL 方案并且工作正常 youtube 用户 频道名称 但在我将 Youtube 应用程序更新到最新的 2 6 0 后 这
  • 使用 OpenCV 和/或 Numpy 对两个图像进行 Alpha 混合 [重复]

    这个问题在这里已经有答案了 我想将一个填充纯色的半透明矩形添加到已加载的半透明 PNG 中 这是我正在使用的输入图像示例 该图像加载了标准cv2 IMREAD UNCHANGED标志 以便完美保留 alpha 通道 该输入图像存储在imag
  • Java 的支持向量机?

    我想用Java编写一个 智能监视器 它可以随时发出警报detects即将到来的性能问题 我的 Java 应用程序正在以结构化格式将数据写入日志文件
  • 将 Chrome 扩展上的权限移至可选

    我了解到 Chrome 在添加新权限时会禁用扩展程序 当我向扩展添加新功能时 我需要在permissions列表 现在我知道我应该使用optional permissions 我的问题是 如果我将网站列表从permissions to op