js復(fù)制文本到粘貼板(Clipboard.writeText())
復(fù)制文本到粘貼板(Clipboard.writeText())
js如何復(fù)制文本到粘貼板呢,網(wǎng)上所說的各種復(fù)制。。在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);
//復(fù)制
var successful = document.execCommand('copy');
通過 window.clipboardData.setData('Text',textVal) 這個 對象來操作的。可是都不work。
/**
* 復(fù)制代碼
*/
$('#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
拷貝文字不應(yīng)當(dāng)是一件困難的事. 不需要過多繁雜的配置或者下載很多腳本文件. 最重要的,它不應(yīng)該依賴flash或者其他框架,應(yīng)該保持簡潔,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導(dǎo)致沖突。
Clipboard.writeText()
以下場景是來自CodeGenerator的復(fù)制功能:
$('#btnCopy').on('click', function(){
if(!$.isEmptyObject(genCodeArea.getValue())&&!$.isEmptyObject(navigator)&&!$.isEmptyObject(navigator.clipboard)){
navigator.clipboard.writeText(genCodeArea.getValue());
layer.msg("復(fù)制成功");
}
});
來源:https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/writeText
兼容性:Chrome66以上/Firefox63以上

效果展示:

復(fù)制內(nèi)容到剪貼板(無插件,兼容所有瀏覽器)
HTML部分:
<button onclick="copyToClip('內(nèi)容')"> Copy </button>JS部分:
/**
?* 復(fù)制單行內(nèi)容到粘貼板
?* content : 需要復(fù)制的內(nèi)容
?* message : 復(fù)制完后的提示,不傳則默認提示"復(fù)制成功"
?*/
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("復(fù)制成功");
? ? } else{
? ? ? ? alert(message);
? ? }
}【補充】
如果你想復(fù)制多行數(shù)據(jù)的話,可以采用如下方法。
/**
?* 復(fù)制多行內(nèi)容到粘貼板
?* contentArray: 需要復(fù)制的內(nèi)容(傳一個字符串?dāng)?shù)組)
?* message : 復(fù)制完后的提示,不傳則默認提示"復(fù)制成功"
?*/
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("復(fù)制成功");
? ? } else{
? ? ? ? alert(message);
? ? }
}以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- JavaScript實現(xiàn)一鍵復(fù)制文本功能的示例代碼
- Web js實現(xiàn)復(fù)制文本到粘貼板
- 使用js實現(xiàn)復(fù)制功能
- 使用?JS?復(fù)制頁面內(nèi)容的三種方案
- JavaScript實現(xiàn)一鍵復(fù)制內(nèi)容剪貼板
- JS實現(xiàn)一鍵復(fù)制
- Vue中使用highlight.js實現(xiàn)代碼高亮顯示以及點擊復(fù)制
- js實現(xiàn)復(fù)制粘貼的兩種方法
- JavaScript+Html5實現(xiàn)按鈕復(fù)制文字到剪切板功能(手機網(wǎng)頁兼容)
- JS實現(xiàn)復(fù)制內(nèi)容到剪貼板功能兼容所有瀏覽器(推薦)
- js實現(xiàn)點擊復(fù)制當(dāng)前文本到剪貼板功能(兼容所有瀏覽器)
- 簡單實現(xiàn)兼容各大瀏覽器的js復(fù)制內(nèi)容到剪切板
- JavaScript 實現(xiàn)完美兼容多瀏覽器的復(fù)制功能代碼
- 兼容主流瀏覽器的JS復(fù)制內(nèi)容到剪貼板
- js實現(xiàn)的復(fù)制兼容chrome和IE
- 兼容所有瀏覽器的js復(fù)制插件Zero使用介紹
- 用js將內(nèi)容復(fù)制到剪貼板兼容瀏覽器
- js復(fù)制網(wǎng)頁內(nèi)容并兼容各主流瀏覽器的代碼
- JS復(fù)制內(nèi)容到剪切板的實例代碼(兼容IE與火狐)
- JS/FLASH實現(xiàn)復(fù)制代碼到剪貼板(兼容所有瀏覽器)
- 多瀏覽器兼容性比較好的復(fù)制到剪貼板的js代碼
- GWT中復(fù)制到剪貼板 js+flash實現(xiàn)復(fù)制 兼容性比較好
- 兼容IE與Firefox的js 復(fù)制代碼
- JavaScript 復(fù)制功能代碼 兼容多瀏覽器
- 至2023年最好用的兼容多瀏覽器的原生js復(fù)制函數(shù)copyText
相關(guān)文章
微信小程序?qū)W習(xí)筆記之表單提交與PHP后臺數(shù)據(jù)交互處理圖文詳解
這篇文章主要介紹了微信小程序?qū)W習(xí)筆記之表單提交與PHP后臺數(shù)據(jù)交互處理,結(jié)合實例形式詳細分析了微信小程序前臺數(shù)據(jù)form表單提交及后臺使用php進行處理相關(guān)操作技巧,并配以圖文形式詳細說明,需要的朋友可以參考下2019-03-03
JavaScript中正則表達式判斷匹配規(guī)則及常用方法
JS作為一門常用于web開發(fā)的語言,必然要具備正則這種強大的特性,本文將對JS中的正則用法及常用函數(shù)進行一番總結(jié)2017-08-08
JavaScript實現(xiàn)導(dǎo)入導(dǎo)出excel的示例代碼
這篇文章主要為大家詳細介紹了如何利用JavaScript語言實現(xiàn)導(dǎo)入導(dǎo)出excel文件的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2022-07-07
JavaScript中數(shù)組雙重去重的方法總結(jié)
這篇文章主要為大家學(xué)習(xí)介紹了JavaScript中數(shù)組雙重去重的幾個常用方法,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-07-07

