我想为网站创建一个非常小的扩展,它会自动将一些值复制到剪贴板。
问题是我希望它复制该值,即使浏览器没有聚焦,例如:
- 我打开网站,我的扩展程序监听页面上的变化
- 我打开不同的应用程序
- 如果页面上发生某些变化,则扩展程序应该复制一些值
- 我正在使用的主要应用程序仍然是焦点,但我可以 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(使用前将#替换为@)