获取 Chrome 扩展程序读取复制文本的权限

2024-02-06

我正在创建一个 Chrome 扩展程序。我希望能够看到用户从 Chrome 复制到剪贴板的内容。这是我目前在内容脚本中所做的工作:

document.addEventListener(
    "copy",
    () => navigator.clipboard.readText().then(
        text => console.log("copied text: " + text)
    )
);

出于合理的安全原因,Chrome 不允许您从复制事件本身获取剪贴板。相反,我必须从navigator。唯一的问题是,每次用户从不同网站复制内容时,Chrome 都会询问用户许可。

从安全角度来看,这是有道理的。由于内容脚本的行为就好像它是在网页上运行的脚本一样,因此 Chrome 想要验证用户是否信任该网站是有道理的。不过,我正在尝试从 Chrome 中执行此操作扩大,所以理想情况下用户应该只需要“相信我”一次。就我的目的而言,用户必须在复制内容的每个新页面上点击“允许”按钮,这太不方便了。

我一直在 Chrome API 中寻找可以在这种情况下帮助我的东西,但我没有成功。我发现可以为用户手动复制某些内容,但我想看看用户正在复制自己的内容。我正在寻找的可能吗?

EDIT:

另一个潜在的解决方法:我可以打电话window.getSelection().toString()查看用户当前突出显示的内容,并假设这就是刚刚复制的内容。然而,这似乎并不总是产生正确的结果,并且依赖此解决方法似乎可能是一个错误。这是最好的解决方案吗?


None

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

获取 Chrome 扩展程序读取复制文本的权限 的相关文章

随机推荐

  • 在运行时根据请求参数创建EF Core DbContext

    背景 我们正在使用 ASP Net Core 和 Entity Framework Core 2 2 构建一个 Web 应用程序 我们正在连接到旧数据库 设置是有 16 个数据库 全部具有完全相同的架构 保存不同的上下文数据 我们无法改变这
  • Ctrl+M 使用 Sublime+Linux 运行 Makefile

    我目前正在考虑从 Pluma 以前的 gEdit 切换到 Sublime Text 到目前为止 我从 Sublime Text 中看到的内容非常好 I currently test Submlime Text 2 and would lik
  • 为什么 C 类型泛型表达式不能与 C++ 兼容?

    我似乎记得从一些可靠来源 即委员会成员在非官方渠道中发言 听到过模糊的评论 即 C 类型泛型表达式不会添加到 C 中 因为它们不能添加 据我所知 与 C 模板和重载相比 类型泛型表达式非常有限 但不存在需要定义为特殊情况的交互潜力 类型通用
  • 扩展实体

    我有一个名为 AbstractEntity 的类 它用 MappedSuperclass 进行注释 然后我有一个名为 User Entity 的类 它扩展了 AbstractEntity 这两个都存在于名为 foo bar framewor
  • 在向 COM 公开的 C# 对象上实现 ISupportErrorInfo

    我正在用 C 编写一个 COM 对象 我想使用它理解的机制 Err 对象 向 vba asp 客户端软件引发错误 在过去的好日子里 这意味着在 COM 对象上实现 ISupportErrorInfo 但我找不到任何有关如何在 C 对象中实现
  • 如何在selenium中按类名查找元素?

    在selenium中通过类名查找元素的语法是什么 请注意 我已经使用了以下语法 link elements driver find elements by class name BM30N 它给了我以下错误 C Users David De
  • iOS6大量下载超时

    看起来 iOS6 上使用 ASIHTTPRequest 的所有大型下载都会超时 有谁知道有任何 fork 已经为 iOS6 更新了这个库吗 我喜欢这个库并且真的不想切换 EDIT 此问题并非 ASIHTTPRequest 特有的 在测试 F
  • Django 1.2.4 CSRF验证失败

    当我执行 POST 表单时 Django 1 2 始终给我这个 CSRF 验证错误 我 认为 我已经完成了 Django 1 2 文档中要求的所有事情 即 确保 MIDDLEWARE CLASSES 包含在 django middlewar
  • SweetAlert确认对话框与asp.net listview删除?

    请帮我理解这一点 我创建了一个 ListView 显示来自 SQL 数据库的数据 我已经启用了插入 编辑和删除功能 一切正常 我想要什么 我想用SweetAlert http t4t5 github io sweetalert 提示用户确认
  • 遵循视图模型模式的最佳实践

    我现在正在学习 ASP NET MVC 一段时间 我遵循在互联网或书籍中找到的一些指南 并且我想确保在我的开发中遵循有关视图模型模式的良好实践 下面是一个博客实现的简单示例 您能否确认我走的路是正确的 假设我想在视图上显示帖子标题 描述 并
  • 最大 MQTT 连接数

    我需要创建一个服务器场 可以处理 5 100 万个连接 5 00000 个主题 每个客户端一个 每秒处理 300k 消息 我尝试了解各种消息代理的功能 因此我目前使用两个 RHEL EC2 实例 r3 4xlarge 来获取大量可用资源 所
  • Highcharts.js 设置更改列颜色的阈值

    我想知道是否有人可以帮助我调整这个 Highcharts 线图 http jsfiddle net highcharts PMyHQ http jsfiddle net highcharts PMyHQ 到柱形图WHILE仍然保持阈值着色
  • 将多列表转换为两列表

    让我们假设我想分析格鲁吉亚 国家 不同地区 城市的旅游游客 这里很容易从以下网站获取数据 https www geostat ge en modules categories 101 domestic tourism https www g
  • 如何使用邮递员测试获得代码覆盖率

    我们在 RestEasy 中创建了 REST 服务 并在 Wildfly 服务器中运行 我们正在运行 Postman 测试用例来测试 Rest URL 当我们执行邮递员测试套件时 有没有办法获得服务的代码覆盖率 我们使用SonarQube来
  • 如何将数据追加到 Excel 工作表列中?

    我有包含一些数据的现有 Excel 文件 我想将数据附加到其中 在此输入图像描述 1 try xlApp new Excel Application xlWorkBook xlApp Workbooks Add misValue xlWor
  • 为什么我的 Google OAuth URL 在返回的 URL 中放置了哈希值?

    给定的网址 返回网址 如果返回 URL 完全有效 更改为 开始查询字符串 为什么谷歌要归还 因此 杀死查询字符串 单独说明 另外 我不太知道我是否应该提出要求token or code作为响应类型 我计划让用户将他们的 Google 云端硬
  • 为什么 selectOneMenu 将 ItemLabel 发送到转换器?

    我的 JSF 页面
  • 为什么我在尝试打印时收到 AttributeError

    我正在按照本教程学习 urllib2http docs python org howto urllib2 html urlerror http docs python org howto urllib2 html urlerror运行下面的
  • 使用 Swift Package Manager 时如何生成用于开发的 Xcode 项目文件

    我正在使用新的开源 Swift Package Manager 并且能够下载文件 我希望管理器根据它检索到的包创建一个 开发环境 通过 Xcode 有人处理过这个吗 更新 正如其他答案中提到的 您现在可以使用以下命令生成 Xcode 项目文
  • 获取 Chrome 扩展程序读取复制文本的权限

    我正在创建一个 Chrome 扩展程序 我希望能够看到用户从 Chrome 复制到剪贴板的内容 这是我目前在内容脚本中所做的工作 document addEventListener copy gt navigator clipboard r