gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 14:16:33 26 4
gpt4 key购买 nike

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

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

  • 我打开网站,我的分机监听页面
  • 的变化
  • 我打开不同的应用程序
  • 如果页面发生变化,则扩展程序应复制一些值
  • 我正在使用的主要应用程序仍然专注,但我可以 CTRL+V 粘贴从网站复制的值,而无需 alt+tab

  • 我尝试使用剪贴板 API:
    navigator.clipboard.writeText(...)

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

    当页面聚焦时,复制工作正常。如果我尝试切换到不同的应用程序,当我的扩展程序尝试复制值时会出现异常:
    DOMException: Document is not focused.

    有没有办法做到这一点?

    最佳答案

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

    This document has a lot of good info ..

    在 Chrome 中,您可以请求 clipboard-write在用户生成的小事件之外写入剪贴板的权限,尽管 Chrome 似乎不会限制您何时可以写入剪贴板。根据下面的文章,您可以从后台写入 Chrome 中的剪贴板,等等。见 the note at the bottom of this section了解更多信息。

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

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

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

    您可以查看浏览器之间的差异以及它们如何处理 clipboard related events/permissions/etc, here ..

    关于javascript - 浏览器未聚焦时从网站复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59556207/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com