javascript - 获取 Chrome 扩展程序读取复制文本的权限
问题描述
我正在创建一个 Chrome 扩展程序。我希望能够看到用户从 Chrome 复制到剪贴板的内容。这是我目前在内容脚本中所做的工作:
document.addEventListener(
"copy",
() => navigator.clipboard.readText().then(
text => console.log("copied text: " + text)
)
);
出于安全原因,Chrome 不允许您从复制事件本身获取剪贴板。相反,我必须从navigator
. 唯一的问题是,Chrome 每次从不同网站复制内容时都会请求用户许可。
从安全的角度来看,这是有道理的。由于内容脚本的行为就像是在网页上运行的脚本,因此 Chrome 希望向用户验证他们信任该网站是有道理的。但是,我正在尝试通过 Chrome扩展来执行此操作,因此理想情况下,用户应该只需要“信任我”一次。出于我的目的,用户不得不在每个新页面上点击“允许”按钮来复制内容,这太不方便了。
在这种情况下,我一直在寻找可以帮助我的 Chrome API 中的一些东西,但我没有成功。我看到可以为用户手动复制一些东西,但我想看看用户自己复制了什么。我正在寻找的可能吗?
编辑:
另一个潜在的解决方法:我可以打电话window.getSelection().toString()
来查看用户当前突出显示的内容,并假设这就是刚刚复制的内容。但是,似乎这可能并不总是产生正确的结果,并且依赖这种解决方法似乎可能是一个错误。这是最好的解决方案吗?
解决方案
推荐阅读
- python - 在python的mayagui中选择参数
- r - 在浏览代码时,我在线性回归代码的自变量中看到了 a:b。这是什么意思?
- javascript - 如何从单个数组对象中的多个数组对象创建数组?
- vba - 程序到大
- java - 通过私有方法返回更新的变量
- laravel - 在 Laravel 网站上需要一个货币转换器
- reactjs - 根据反应中的道具或状态更改输入
- git - Jenkins 有时无法获取 repo
- php - 如何通过限制降序排序?PHP/SQL
- android - Checkout Android Billing API getPurchaseHistory 方法问题