最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實(shí)現(xiàn)一鍵復(fù)制文本功能的示例代碼

 更新時(shí)間:2023年03月21日 15:08:42   作者:藍(lán)瑟  
這篇文章主要為大家介紹兩種javascript實(shí)現(xiàn)文本復(fù)制(將文本寫入剪貼板)的方法,文中的示例代碼講解詳細(xì),大家可以根據(jù)需求特點(diǎn)選用

最近小編做了一鍵復(fù)制文本的需求(功能如下圖所示)。本文簡單介紹兩種javascript實(shí)現(xiàn)文本復(fù)制(將文本寫入剪貼板)的方法——navigator.clipboarddocument.execCommand(),大家可以根據(jù)需求特點(diǎn)選用。

一、navigator.clipboard 對象

1. navigator.clipboard 方法匯總

方法用途
Clipboard.readText()復(fù)制剪貼板里的文本數(shù)據(jù)
Clipboard.read()復(fù)制剪貼板里的文本數(shù)據(jù)/二進(jìn)制數(shù)據(jù)
Clipboard.writeText()將文本內(nèi)容寫入剪貼板
Clipboard.write()將文本數(shù)據(jù)/二進(jìn)制數(shù)據(jù)寫入剪貼板

2. 代碼示例

方法 1: Clipboard.writeText(), 用于將文本內(nèi)容寫入剪貼板;

    document.body.addEventListener("click", async (e) => {
      await navigator.clipboard.writeText("Yo");
    });

方法 2: Clipboard.write(), 用于將文本數(shù)據(jù)/二進(jìn)制數(shù)據(jù)寫入剪貼板

Clipboard.write()不僅在剪貼板可寫入普通text,還可以寫入圖片數(shù)據(jù)(Chrome瀏覽器僅支持png格式)。

 async function copy() {
   const image = await fetch("kitten.png");
   const text = new Blob(["Cute sleeping kitten"], { type: "text/plain" });
   const item = new ClipboardItem({
     "text/plain": text,
     "image/png": image,
   });
   await navigator.clipboard.write([item]);
 }

3. 優(yōu)缺點(diǎn)

① 優(yōu)點(diǎn)

所有操作都是異步的,返回 Promise 對象,不會(huì)造成頁面卡頓;

無需提前選中內(nèi)容,可以將任意內(nèi)容(比如圖片)放入剪貼板;

② 缺點(diǎn): 允許腳本任意讀取會(huì)產(chǎn)生安全風(fēng)險(xiǎn),安全限制較多。

Chrome 瀏覽器規(guī)定,只有 HTTPS 協(xié)議的頁面才能使用這個(gè) API;

調(diào)用時(shí)需要明確獲得用戶的許可。

二、document.execCommand() 方法

1. document.execCommand() 方法匯總

方法用途
document.execCommand('copy')復(fù)制
document.execCommand('cut')剪切
document.execCommand('paste')粘貼

2. 代碼示例

document.execCommand('copy'),用于將已選中的文本內(nèi)容寫入剪貼板。

結(jié)合 window.getSelection()方法實(shí)現(xiàn)一鍵復(fù)制功能:

    const TestCopyBox = () => {
    const onClick = async () => {
    const divElement = document.getElementById("select-div");
    if (window.getSelection) {
    const selection = window.getSelection();
    const range = document.createRange();
    range.selectNodeContents(divElement);
    selection.removeAllRanges();
    selection.addRange(range);
    }
    document.execCommand("copy");
    };
    return <div>
     <button onClick={onClick}>copy</button>
     <div id="select-div"> <input /> <span>test2: 3</span><span>test3: 94</span></div>
    </div>
    };

3. 優(yōu)缺點(diǎn)

① 優(yōu)點(diǎn)

使用方便;

各種瀏覽器都支持;

② 缺點(diǎn)

只能將選中的內(nèi)容復(fù)制到剪貼板;

同步操作,如果復(fù)制/粘貼大量數(shù)據(jù),頁面會(huì)出現(xiàn)卡頓。

到此這篇關(guān)于JavaScript實(shí)現(xiàn)一鍵復(fù)制文本功能的示例代碼的文章就介紹到這了,更多相關(guān)JavaScript一鍵復(fù)制文本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • 微信小程序開發(fā)常用功能匯總

    微信小程序開發(fā)常用功能匯總

    這篇文章主要介紹了微信小程序開發(fā)常用功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • viewer.js實(shí)現(xiàn)圖片預(yù)覽功能

    viewer.js實(shí)現(xiàn)圖片預(yù)覽功能

    這篇文章主要為大家詳細(xì)介紹了viewer.js實(shí)現(xiàn)圖片預(yù)覽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 微信小程序?qū)崿F(xiàn)簡單搜索框

    微信小程序?qū)崿F(xiàn)簡單搜索框

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簡單搜索框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • JS中Location使用詳解

    JS中Location使用詳解

    javascript中 location用于獲取或設(shè)置窗體的URL,并且可以用于解析URL,是BOM中最重要的對象之一,下面我們就來詳細(xì)探討下Location對象的使用。
    2015-05-05
  • 網(wǎng)頁廣告中JS代碼的信息監(jiān)聽示例

    網(wǎng)頁廣告中JS代碼的信息監(jiān)聽示例

    在一些網(wǎng)頁廣告中提供的JS代碼可以進(jìn)行代碼注入,然后監(jiān)視各種元素,下面有個(gè)示例,大家可以參考下
    2014-04-04
  • js 實(shí)現(xiàn)在2d平面上畫8的方法

    js 實(shí)現(xiàn)在2d平面上畫8的方法

    今天小編就為大家分享一篇js 實(shí)現(xiàn)在2d平面上畫8的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • js實(shí)現(xiàn)運(yùn)行代碼需要刷新的解決方法

    js實(shí)現(xiàn)運(yùn)行代碼需要刷新的解決方法

    js實(shí)現(xiàn)運(yùn)行代碼需要刷新的解決方法...
    2007-08-08
  • 如何為你的JavaScript代碼日志著色詳解

    如何為你的JavaScript代碼日志著色詳解

    這篇文章主要給大家介紹了關(guān)于如何為你的JavaScript代碼日志進(jìn)行著色的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • JS將秒換成時(shí)分秒實(shí)現(xiàn)代碼

    JS將秒換成時(shí)分秒實(shí)現(xiàn)代碼

    將秒換成時(shí)分秒的方法有很多,在本文將為大家介紹下,使用js的具體的實(shí)現(xiàn)思路,有需要的朋友可以參考下,希望對大家有所幫助
    2013-09-09
  • JavaScript表格常用操作方法匯總

    JavaScript表格常用操作方法匯總

    這篇文章主要介紹了JavaScript表格常用操作方法,實(shí)例匯總了javascript中表格操作的創(chuàng)建、添加、刪除、遍歷等常用操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04

最新評論

武穴市| 厦门市| 阜城县| 琼中| 文成县| 崇左市| 赤城县| 塘沽区| 元朗区| 天等县| 香河县| 罗田县| 灵武市| 芮城县| 阳信县| 桂林市| 巴马| 依兰县| 宁化县| 永仁县| 高清| 舟山市| 宁明县| 冷水江市| 乌拉特中旗| 固原市| 翼城县| 玉山县| 五华县| 贵南县| 庆阳市| 黑河市| 永靖县| 扶沟县| 奉贤区| 印江| 安国市| 大足县| 肥西县| 乌拉特后旗| 怀远县|