gpt4 book ai didi

javascript - Chrome 扩展程序 - 请求新权限

转载 作者:行者123 更新时间:2023-12-03 05:37:38 24 4
gpt4 key购买 nike

我的商店中已有一个 chrome 扩展程序,我需要添加更多权限,因为我想将其应用到更多网站。但是将它们放入权限数组会禁用扩展,并且它需要新权限的唯一指示位于汉堡菜单下,这是完全无用的。

这是原始内容,由于它位于 content_scripts 对象中,因此似乎具有隐含的“https://mail.google.com ”权限:

{
"manifest_version": 2,
"name": "My Extension",
"short_name": "Extension",
"version": "1.5.16",
"description": "Description here",
"homepage_url": "https://test.com/",
"icons": {
"16": "icon16.png",
"48": "icon48.png",
"128": "icon128.png"
},
"content_scripts": [
{
"matches": [
"https://mail.google.com/*"
],
"js": [
"injector.js"
],
"css": [
"style.css"
]
}
],
"web_accessible_resources": [
"app.js",
"libs.js"
]
}

在完美的世界中,我只需添加额外的“content_scripts”对象,但是由于对新网站域的隐含权限,这会禁用扩展。

输入 "optional_permissions": ["https://hangouts.google.com "] 仍然会禁用该插件并且不会通知用户。

如果我将任何代码放入后台脚本中,请说一些以任何方式访问 chrome.tabs 的内容... BOOM!这是隐含的权限,并且扩展被禁用。

我应该如何在不禁用扩展的情况下获取新权限?请求许可的弹出窗口将是一个完美的解决方案,但这不是我所提供的。

最佳答案

抛开内容脚本的问题,在大多数情况下,可选权限并不值得将权限列表从一个固定列表修补到另一个固定列表。

您将使现有用户和新用户都经历让新用户感到困惑的运行时权限对话框。

可选权限的真正目的是允许用户在运行时未知的域中进行选择。

最好硬着头皮冒着禁用扩展程序的风险。

如果您愿意,您可以发布具有新权限的第二个扩展程序,将第一个扩展程序设为不公开,然后发布更新以敦促用户安装新扩展程序。

有些用户可能更喜欢这个,有些可能会更恼火 - 从一开始这就是一个双输的局面,你不会留住所有用户。不过,通过迁移路线,您将失去商店中的累积评级。

<小时/>

添加内容脚本实际上是隐式授予主机权限。以及在运行时更改内容脚本配置的声明式 API never became supported/stable .

因此,如果您绝对决定采用可选权限路线,则需要(效率低下,有限制)执行 programmatic injection .

关于javascript - Chrome 扩展程序 - 请求新权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40666678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com