访问复制的文本/文件/内容

问题描述 投票:0回答:1

如何获取已从此页面或其他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>
  );
}
reactjs react-native react-hooks copy
1个回答
0
投票

您可以查看

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?
:您无法访问用户在应用程序外部复制的原始剪贴板数据/历史记录,例如从其计算机上的本地文件复制的内容。没有流行的浏览器支持此功能。

无法访问剪贴板上已保存的项目主要是安全和隐私问题。允许网络应用程序访问整个剪贴板历史记录,包括从其他应用程序复制的内容,可能会导致严重的隐私侵犯和安全风险。例如,如果用户复制了密码或其他敏感信息。

如果用户愿意将剪贴板数据粘贴到您应用程序的某个字段中,您的应用程序就可以访问剪贴板数据。

© www.soinside.com 2019 - 2024. All rights reserved.