js復制文本到粘貼板(Clipboard.writeText())
復制文本到粘貼板(Clipboard.writeText())
js如何復制文本到粘貼板呢,網(wǎng)上所說的各種復制。。在Chrome或者說在我這個項目都沒用。
- windows.copy
- document.execCommand(“copy”);
- clipboard.js
- Clipboard.writeText() ,可行!
網(wǎng)上的代碼
通過 document.execCommand('copy') 來操作。
//創(chuàng)建選中范圍 var range = document.createRange(); range.selectNode(copyDom); //移除剪切板中內(nèi)容 window.getSelection().removeAllRanges(); //添加新的內(nèi)容到剪切板 window.getSelection().addRange(range); //復制 var successful = document.execCommand('copy');
通過 window.clipboardData.setData('Text',textVal) 這個 對象來操作的??墒嵌疾粀ork。
/** * 復制代碼 */ $('#btnCopy').bind('click', function (e) { if (!$.isEmptyObject(codeData)) { //support IE var clipboardData = window.clipboardData; //support Chrome/Firefox if (!clipboardData) { clipboardData = e.originalEvent.clipboardData; } if (!clipboardData) { console.log(clipboardData); console.log(clipboardData.getData('text')); clipboardData.setData('Text', codeData[id]); } if(window != undefined){ window.copy($("#genCodeArea").val()); } } });
clipboard.js
拷貝文字不應當是一件困難的事. 不需要過多繁雜的配置或者下載很多腳本文件. 最重要的,它不應該依賴flash或者其他框架,應該保持簡潔,clipboard.js
1.通過cdn引入
<script src="http://cdn.staticfile.org/clipboard.js/2.0.4/clipboard.min.js"></script>
2.使用功能
<!-- Target --> <input id="copyArea" value="https://zhengkai.blog.csdn.net"> <!-- Trigger --> <button class="btn" data-clipboard-target="#copyArea"> <img src="assets/clippy.svg" alt="Copy to clipboard"> </button>
3.查看效果
4.這個功能正常是可以的,但是可能我用了CodeMirror或者其他js導致沖突。
Clipboard.writeText()
以下場景是來自CodeGenerator的復制功能:
$('#btnCopy').on('click', function(){ if(!$.isEmptyObject(genCodeArea.getValue())&&!$.isEmptyObject(navigator)&&!$.isEmptyObject(navigator.clipboard)){ navigator.clipboard.writeText(genCodeArea.getValue()); layer.msg("復制成功"); } });
來源:https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText
兼容性:Chrome66以上/Firefox63以上
效果展示:
復制內(nèi)容到剪貼板(無插件,兼容所有瀏覽器)
HTML部分:
<button onclick="copyToClip('內(nèi)容')"> Copy </button>
JS部分:
/** ?* 復制單行內(nèi)容到粘貼板 ?* content : 需要復制的內(nèi)容 ?* message : 復制完后的提示,不傳則默認提示"復制成功" ?*/ function copyToClip(content, message) { ? ? var aux = document.createElement("input");? ? ? aux.setAttribute("value", content);? ? ? document.body.appendChild(aux);? ? ? aux.select(); ? ? document.execCommand("copy");? ? ? document.body.removeChild(aux); ? ? if (message == null) { ? ? ? ? alert("復制成功"); ? ? } else{ ? ? ? ? alert(message); ? ? } }
【補充】
如果你想復制多行數(shù)據(jù)的話,可以采用如下方法。
/** ?* 復制多行內(nèi)容到粘貼板 ?* contentArray: 需要復制的內(nèi)容(傳一個字符串數(shù)組) ?* message : 復制完后的提示,不傳則默認提示"復制成功" ?*/ function copyToClip(contentArray, message) { ?? ?var contents = ""; ?? ?for (var i = 0; i < contentArray.length; i++) { ?? ??? ?contents += contentArray[i] + "\n"; ?? ?} ?? ?const textarea = document.createElement('textarea'); ?? ?textarea.value = contents; ?? ?document.body.appendChild(textarea); ?? ?textarea.select(); ?? ?if (document.execCommand('copy')) { ?? ??? ?document.execCommand('copy'); ?? ?} ?? ?document.body.removeChild(textarea); ? ? if (message == null) { ? ? ? ? alert("復制成功"); ? ? } else{ ? ? ? ? alert(message); ? ? } }
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- JavaScript實現(xiàn)一鍵復制文本功能的示例代碼
- Web js實現(xiàn)復制文本到粘貼板
- 使用js實現(xiàn)復制功能
- 使用?JS?復制頁面內(nèi)容的三種方案
- JavaScript實現(xiàn)一鍵復制內(nèi)容剪貼板
- JS實現(xiàn)一鍵復制
- Vue中使用highlight.js實現(xiàn)代碼高亮顯示以及點擊復制
- js實現(xiàn)復制粘貼的兩種方法
- JavaScript+Html5實現(xiàn)按鈕復制文字到剪切板功能(手機網(wǎng)頁兼容)
- JS實現(xiàn)復制內(nèi)容到剪貼板功能兼容所有瀏覽器(推薦)
- js實現(xiàn)點擊復制當前文本到剪貼板功能(兼容所有瀏覽器)
- 簡單實現(xiàn)兼容各大瀏覽器的js復制內(nèi)容到剪切板
- JavaScript 實現(xiàn)完美兼容多瀏覽器的復制功能代碼
- 兼容主流瀏覽器的JS復制內(nèi)容到剪貼板
- js實現(xiàn)的復制兼容chrome和IE
- 兼容所有瀏覽器的js復制插件Zero使用介紹
- 用js將內(nèi)容復制到剪貼板兼容瀏覽器
- js復制網(wǎng)頁內(nèi)容并兼容各主流瀏覽器的代碼
- JS復制內(nèi)容到剪切板的實例代碼(兼容IE與火狐)
- JS/FLASH實現(xiàn)復制代碼到剪貼板(兼容所有瀏覽器)
- 多瀏覽器兼容性比較好的復制到剪貼板的js代碼
- GWT中復制到剪貼板 js+flash實現(xiàn)復制 兼容性比較好
- 兼容IE與Firefox的js 復制代碼
- JavaScript 復制功能代碼 兼容多瀏覽器
- 至2023年最好用的兼容多瀏覽器的原生js復制函數(shù)copyText
相關(guān)文章
部分網(wǎng)站允許空白referer的防盜鏈圖片的js破解代碼
主要是有些網(wǎng)站的圖片調(diào)用是防盜鏈的但一般只是判斷referer是不是自己網(wǎng)站,如果referer為空也會顯示圖片,所以有了下面的代碼。2011-05-05微信小程序web-view環(huán)境下H5跳轉(zhuǎn)小程序頁面方法實例代碼
微信小程序是一種全新的連接用戶與服務的方式,它可以在微信內(nèi)被便捷地獲取和傳播,同時具有出色的使用體驗,下面這篇文章主要給大家介紹了關(guān)于微信小程序web-view環(huán)境下H5跳轉(zhuǎn)小程序頁面方法的相關(guān)資料,需要的朋友可以參考下2022-08-08