当浏览器未聚焦时从网站复制到剪贴板

2023-11-24

我想为网站创建一个非常小的扩展,它会自动将一些值复制到剪贴板。

问题是我希望它复制该值,即使浏览器没有聚焦,例如:

  1. 我打开网站,我的扩展程序监听页面上的变化
  2. 我打开不同的应用程序
  3. 如果页面上发生某些变化,则扩展程序应该复制一些值
  4. 我正在使用的主要应用程序仍然是焦点,但我可以 CTRL+V 粘贴从网站复制的值,而无需使用 alt+tab

我尝试使用剪贴板 API:

navigator.clipboard.writeText(...)

但我认为它不会起作用,因为浏览器必须集中注意力(我认为)。

当页面聚焦时,复制工作正常。如果我尝试切换到不同的应用程序,当我的扩展尝试复制该值时,我会收到异常:

DOMException: Document is not focused.

有什么办法可以做到这一点吗?


出于安全原因这是不可能的。很难想象有人想要这种行为......

该文档有很多有用的信息..

在 Chrome 中,您可以请求clipboard-write在用户生成的小事件之外写入剪贴板的权限,尽管 Chrome 似乎并没有限制您何时可以写入剪贴板。根据下面的文章,您可以从后台写入 Chrome 中的剪贴板,等等..参见本节底部的注释了解更多信息。

如果 Chrome 允许您从后台写入剪贴板或者未选择窗口,您可以使用页面可见性API当“那个”特定窗口不可见时启动复制事件。

你甚至可以使用window.addEventListener('blur', function(){...})处理程序进行测试等...

总而言之,这在 Chrome 中可能是可能的,但在 Firefox 中绝对不支持。

您可以查看浏览器之间的差异以及它们如何处理剪贴板相关事件/权限/等,在这里..

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

当浏览器未聚焦时从网站复制到剪贴板 的相关文章

随机推荐

  • UIImage 和 ressizedImageWithCapInsets Swift

    我是 Swift 的 Apple 新手 我读过一篇文章Here 但不知道如何做这样的事情 或者只是简单不知道如何使用resizableImageWithCapInsets与斯威夫特 请帮我使用resizableImageWithCapIns
  • 绝对 xpath 和相对 xpath 有什么区别? Selenium 自动化测试中哪个是首选?

    绝对 xpath 和相对 xpath 有什么区别 Selenium 自动化测试中哪个是首选 我正在使用 Selenium 和 Robot 框架准备测试脚本 绝对Xpath 它使用从根元素到期望元素的完整路径 相对Xpath 您可以简单地从引
  • 如何将 Maven 站点部署到 Artifactory?

    我们是从一个非常古老的 Artifactory 已有 6 7 年历史 升级而来的 当时 由于空间限制 部分存储库不是由 Artifactory 处理 而是通过 Apache httpd 服务器通过 HTTP 提供服务 通过 Apache h
  • Lua:仅当表中尚未存在时添加到表中或删除重复项的最智能方法

    我有一张字符串表 我想要一种简单的方法来删除表中的所有重复项 所以如果表是 a b c c d e e 经过此操作后将是 a b c d e 或者 也许更好的是 有一种方法可以将元素添加到表中 但前提是该元素尚未包含在表中 我通常为此做的是
  • Haskell - 是什么让“main”独一无二?

    有了这个代码 main FilePath gt FilePath gt IO main wrPath rdPath do x lt readFile rdPath writeFile wrPath x 我收到以下错误 Couldn t ma
  • 搜索大文本文件

    我正在尝试优化大型文本文件 300 600mb 中字符串的搜索 使用我目前的方法 花费的时间太长 目前我一直在使用IndexOf搜索该字符串 但为该字符串的每一行建立索引所需的时间太长 20 秒 如何优化搜索速度 我试过了Contains
  • FOS 其余捆绑包:无法找到模板

    我得到例外 找不到模板 其他类似的问题没有帮助 奇怪的是 它工作正常 然后突然开始给我这个例外 作曲家 friendsofsymfony rest bundle 0 13 dev jms serializer bundle 0 12 dev
  • conda-forge 安全吗?

    我去conda forge下载PyPDF2 conda install c conda forge pypdf2 并收到此消息 The following packages will be UPDATED ca certificates a
  • TypeScript:仅包​​含语句的导入模块

    我有一个page a ts这将编译成page a js alert this is from page a 我有一个main ts编译成main js import pageA module page a alert this is fro
  • Python:MySQL:处理超时

    我使用Python和mySQL 查询之间有很长的延迟 结果 我收到 MySQL 连接已消失 错误 即超出了 wait timeout 这已经被讨论过 例如在优雅地处理 MySQL 已经消失 但这并没有具体回答我的问题 所以我的处理方法是 我
  • 在Android TextView中,可以插入段落吗?

    以下是我遇到的问题类型的示例 我在 pojo 中有数据 需要在文本视图中显示 该数据具有伪代码 用 p 表示每个段落 当它们显示在文本视图中时 我想以某种方式将 p 解析为段落 这可以做到吗 有什么东西可以代替 p 来在文本视图中创建一个新
  • 网站上的 Disqus SSO 集成

    我们在我们的网站中加入了 Disqus 上的 SSO 功能 按照此处的 Disqus 文档进行操作http help disqus com customer portal articles 526768和这里http help disqus
  • 没有匹配的构造函数来初始化“mapped_type”std::map 错误

    我有一个名为 Card 的类 我试图将其一些对象存储在 std map 中 卡 hpp class Card public enum ValueType NOVALUE ACE enum FaceType NOFACE CLUBS Card
  • 为什么Lua的长度(#)运算符返回意外的值?

    Lua 有 运算符来计算用作数组的表的 长度 我检查了这个运营商 我很惊讶 这是我在 Lua 5 2 3 下运行的代码 t t 0 1 t 1 2 print t 1 aha lua counts from one t 2 3 print
  • 如何在javascript中将选定的文本设置为粗体/斜体/下划线?

    我正在尝试开发一个允许用户为学校项目编写自己的笔记的网页 我的想法是让他们使用按钮将文本加粗 斜体 下划线 截至目前 这些按钮正在工作 但它们对文本区域内的所有内容进行粗体 斜体 下划线 相反 我希望它以这样的方式工作 只有它们突出显示的文
  • 如何创建 ada lib.a 并链接到 C

    我正在尝试创建一个 ada 库并尝试了一些不同的东西 我尝试使用 makefile 编译项目并尝试从所有 o 文件创建一个库 这似乎没有按预期工作 然后我询问了 adacore 支持 他们向我指出了在 ada 和 c 项目中使用 gpr 文
  • 如何将 py2app 与 Anaconda python 一起使用?

    我正在使用 Anaconda 发行版中的 Python 3 并尝试将简单的 python 程序转换为 OS X 应用程序 在 El Capitan 上运行 按照中的说明进行操作教程 I ran py2applet make setup my
  • 如何使用 jQuery.get() 解析返回的页面 html

    直到最近我才使用 load 获取另一个页面的特定部分并将其加载到当前页面中 但是当用户发起这些请求时 他们可以排队 我发现自己需要一种方法来中止它们 以免喜欢点击的用户破坏我的页面 这让我 get 效果很好 如果在第一个返回之前启动另一个请
  • 将图像上传到strapi

    我想用 html 文件将图像上传到 Strapi 当我运行代码时 出现错误 POSThttp localhost 1337 上传500内部服务器错误 ajax type POST url http localhost 1337 upload
  • 当浏览器未聚焦时从网站复制到剪贴板

    我想为网站创建一个非常小的扩展 它会自动将一些值复制到剪贴板 问题是我希望它复制该值 即使浏览器没有聚焦 例如 我打开网站 我的扩展程序监听页面上的变化 我打开不同的应用程序 如果页面上发生某些变化 则扩展程序应该复制一些值 我正在使用的主