google-chrome-extension - 在 Chrome 扩展程序中更改标签标题而没有全面权限?
问题描述
我一直在开发 Chrome 扩展程序,它必须能够更改任何选项卡的标题,无论它是否处于活动状态。
由于chrome.tabs.update
API 不允许设置选项卡的标题,我目前通过执行document.title
在选项卡的顶级框架上设置的内容脚本来实现这一点,导致需要非常广泛的权限manifest.json
:
"permissions": [ "tabs", "*://*/", "file://*"]
这样,除了内部协议 ( chrome...://
) 之外,大多数选项卡上的标题都可以更改。
对于扩展程序正在做的事情,这需要很多信任。有了这些权限,扩展程序原则上应该能够窃取所有网站上的任何和所有数据,如果它受到损害的话。
有什么方法可以更改选项卡的标题,而不需要询问用户这种信任级别?例如,是否可以限制允许内容脚本执行的操作?
请注意,一个主要但软约束是需要能够更改非活动选项卡的标题。如果它允许显着限制权限,我可以放弃它,但它会降低功能。
更改必须在没有用户交互的情况下是可能的,因此activeTab
权限将不起作用。
类似问题
5 年前的问题Change Chrome extension tab title看起来很相似,但它要求提供不同的细节(扩展内容脚本的权限而不是减少它们),并且在过去 5 年中,API 和安全模型发生了显着变化,使其基本上过时了。
解决方案
推荐阅读
- r - R - 选择最后 2 列
- bash - 并行执行多个作业时指定 SLURM 资源
- python - 矩阵中具有最大最小值的行总和
- javascript - Serverless + Cognito,adminAddUserToGroup 发布确认 lambda 触发器
- vue.js - 如何从 vue js 中的登录组件更新用户状态?
- python - Python C 扩展:如何 DECREF PyArrayObjects 的 C 数组
- r - 在R中将一个数据帧转换为另一个带有0和1的数据帧
- ios - 使用 URLSession 的本地网络 - Swift 4.2、Xcode 10.1
- redux - Angular 6 ngIf 不适用于 ngrx 商店减速器模型
- python - 将变量与“int”进行比较不起作用