如何获取已从此页面或其他Word文档或互联网复制的内容。在网上
//alert('CTRL+V Pressed');
我收到此警报,但无法获取复制的内容。如何提醒我复制文本?
import React, { useState, useEffect } from "react";
import "./App.css";
export default function App() {
const [state, setState] = useState('');
useEffect(() => {
const handleKeyDown = (event) => {
event.preventDefault();
const code = event.which || event.keyCode;
let charCode = String.fromCharCode(code).toLowerCase();
if ((event.ctrlKey || event.metaKey) && charCode === 's') {
setState('CTRL+S');
alert('CTRL+S Pressed');
} else if ((event.ctrlKey || event.metaKey) && charCode === 'c') {
setState('CTRL+C');
alert('CTRL+C Pressed');
} else if ((event.ctrlKey || event.metaKey) && charCode === 'v') {
setState('CTRL+V');
alert('CTRL+V Pressed');
}
};
window.addEventListener('keydown', handleKeyDown);
return () => window.removeEventListener('keydown', handleKeyDown);
}, []);
return (
<div>
<h1>React JS Detect Save, Copy Keyboard Shortcuts</h1>
<input type="text" />
<hr/>
<textarea />
<hr/>
<button>button</button>
</div>
);
}
您可以查看
Clipboard
API,用于在 Web 应用程序中管理剪贴板相关功能:
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/clipboard
浏览器对它的支持相当好: https://caniuse.com/?search=clipboard
但是回到您的实际问题
How do I get the content which is already copied from this page or other word doc or internet?
:您无法访问用户在应用程序外部复制的原始剪贴板数据/历史记录,例如从其计算机上的本地文件复制的内容。没有流行的浏览器支持此功能。
无法访问剪贴板上已保存的项目主要是安全和隐私问题。允许网络应用程序访问整个剪贴板历史记录,包括从其他应用程序复制的内容,可能会导致严重的隐私侵犯和安全风险。例如,如果用户复制了密码或其他敏感信息。
如果用户愿意将剪贴板数据粘贴到您应用程序的某个字段中,您的应用程序就可以访问剪贴板数据。