簡體   English   中英

是否可以在 Javascript 中從剪貼板 onclick 粘貼?

[英]Is it possible to paste from clipboard onclick in Javascript?

用例用於在私有 Intranet 上輸入數據:用戶從谷歌文檔、保管箱文本文檔等復制和粘貼,並且必須粘貼到具有許多輸入的表單中。 為了加快速度,如果用戶可以從文檔中復制和粘貼,並且當他們單擊輸入字段時,它會在他們左鍵單擊時自動粘貼,那就太好了。

我看過一些較舊的問題,但似乎這是(並且有充分的理由)安全風險。 但是,私有 Intranet 上的所有用戶都知道這一點,只是想節省時間。 有沒有允許這樣做的瀏覽器或技術?

此外,我們可以使用任何支持它的瀏覽器或環境。 我如何才能實現此功能以節省時間?

剪貼板 API 包含在 Chrome 66 中。在此處檢查 jsfiddle: https ://jsfiddle.net/zm490d6a/

相關代碼是:

async function paste(input) {
  const text = await navigator.clipboard.readText();
  input.value = text;
}

如果您使用的是 Chrome 66 或更高版本,這將起作用。 但是,請注意,出於安全原因,您必須授予網頁訪問剪貼板的權限,因此當您第一次單擊該頁面上的輸入時,它會彈出詢問您訪問剪貼板的權限。 一旦您授予它訪問權限,對輸入的任何點擊都會粘貼剪貼板上的任何內容。

在這里,我只使用 readText,但您也可以將 readData 用於剪貼板上的圖像等。 https://developer.mozilla.org/en-US/docs/Web/API/Clipboard

嘗試

el.addEventListener('click', (e) => { 
    document.execCommand('paste');
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM