Jam*_*ald 0 javascript clipboard
我是 JavaScript 新手,不太确定如何实现这一点。我正在使用剪贴板 API ( https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API ) 从用户的剪贴板读取文本。我希望用户当前剪贴板上的所有内容都显示在页面上。
我可以很好地进行一次性粘贴,但我不确定如何将其变成一个持续运行的过程。我计划间歇性地检查用户的剪贴板,看看内容是否已更改,如果已更改,则将其粘贴到页面上。我希望只要 HTML 页面打开,就会发生这种情况。这可能吗?
JavaScript 似乎不喜欢while(true)循环,因为每当我尝试页面刚刚崩溃/变得无响应时。
您可以监听该copy事件,当该事件被触发时,您就知道用户已从页面复制了某些内容。
对于其他地方发生的剪贴板更改,您可以侦听onfocus窗口上的事件并检查剪贴板更改。
如果您的窗口失去焦点,则无法在另一个应用程序/网页中进行复制。
如果这不起作用,您可以使用setInterval(..)无限循环来代替。
这是一个例子:
let prevClipText;
setInterval(() => {
navigator.clipboard.readText().then(clipText => {
if (clipText !== prevClipText) {
console.log('clipboard content was changed to:', clipText);
prevClipText = clipText;
}
});
}, 500);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
394 次 |
| 最近记录: |