至2023年最好用的兼容多瀏覽器的原生js復(fù)制函數(shù)copyText
JS復(fù)制文本到剪切板 copyText
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> </head> <body> <span class="orange" id="shareUrl" data-url="www.baidu.com">www.baidu.com</span> <script> // 復(fù)制 function copyText(text) { var textArea = document.createElement("textarea"); // textArea.style['display']='none' textArea.style['position'] = 'absolute' textArea.style['top'] = '0' textArea.style['left'] = '0' textArea.value = text; document.body.appendChild(textArea); textArea.focus(); textArea.select(); try { var successful = document.execCommand('copy'); var msg = successful ? 'successful' : 'unsuccessful'; console.log(msg) } catch (err) { console.error('復(fù)制失敗', err); } document.body.removeChild(textArea); if (successful) { return true } }; $(function() { var shareUrl = $("#shareUrl").data("url"); $("#shareUrl").click(function() { var shareUrl = $("#shareUrl").data("url"); if (copyText(shareUrl)) { alert("復(fù)制成功"); } }) }) </script> </body> </html>
腳本之家小編刪減后的代碼,減少了判斷,其實(shí)上面的代碼是非常好的
function copyText (text) { //生成一個(gè)textarea對(duì)象 var textArea = document.createElement('textarea'); //設(shè)置屬性 textArea.style.position = 'fixed'; textArea.style.top = 0; textArea.style.left = 0; textArea.style.width = '2em'; textArea.style.height = '2em'; textArea.style.padding = 0; textArea.style.border = 'none'; textArea.style.outline = 'none'; textArea.style.boxShadow = 'none'; textArea.style.background = 'transparent'; textArea.value = text; //添加到頁(yè)面body document.body.appendChild(textArea); textArea.select(); //執(zhí)行 var msg = document.execCommand('copy') ? '成功' : '失敗'; Popup('復(fù)制內(nèi)容' + msg); //移除對(duì)象 document.body.removeChild(textArea); } function Popup(message){ var span=document.createElement('span') span.innerHTML=message || 'default' span.className='popupStyle' span.style.display='block' document.body.appendChild(span) setTimeout(()=>{ span.remove() },1000) }
對(duì)了不要忘了css樣式
.popupStyle{ width:180px; height:50px; background-color: rgb(85,85,85); /* display:none; */ color:#fff; text-align:center; line-height:50px; border-radius:5px; padding:0; position:fixed; z-index:1; top:30%; left:50%; transform:translateX(-50%); }
對(duì)于之前的一些代碼,可以當(dāng)個(gè)學(xué)習(xí)參考,原生js實(shí)現(xiàn)。
- JavaScript實(shí)現(xiàn)一鍵復(fù)制文本功能的示例代碼
- Web js實(shí)現(xiàn)復(fù)制文本到粘貼板
- 使用js實(shí)現(xiàn)復(fù)制功能
- 使用?JS?復(fù)制頁(yè)面內(nèi)容的三種方案
- JavaScript實(shí)現(xiàn)一鍵復(fù)制內(nèi)容剪貼板
- js復(fù)制文本到粘貼板(Clipboard.writeText())
- JS實(shí)現(xiàn)一鍵復(fù)制
- Vue中使用highlight.js實(shí)現(xiàn)代碼高亮顯示以及點(diǎn)擊復(fù)制
- js實(shí)現(xiàn)復(fù)制粘貼的兩種方法
- JavaScript+Html5實(shí)現(xiàn)按鈕復(fù)制文字到剪切板功能(手機(jī)網(wǎng)頁(yè)兼容)
- JS實(shí)現(xiàn)復(fù)制內(nèi)容到剪貼板功能兼容所有瀏覽器(推薦)
- js實(shí)現(xiàn)點(diǎn)擊復(fù)制當(dāng)前文本到剪貼板功能(兼容所有瀏覽器)
- 簡(jiǎn)單實(shí)現(xiàn)兼容各大瀏覽器的js復(fù)制內(nèi)容到剪切板
- JavaScript 實(shí)現(xiàn)完美兼容多瀏覽器的復(fù)制功能代碼
- 兼容主流瀏覽器的JS復(fù)制內(nèi)容到剪貼板
- js實(shí)現(xiàn)的復(fù)制兼容chrome和IE
- 兼容所有瀏覽器的js復(fù)制插件Zero使用介紹
- 用js將內(nèi)容復(fù)制到剪貼板兼容瀏覽器
- js復(fù)制網(wǎng)頁(yè)內(nèi)容并兼容各主流瀏覽器的代碼
- JS復(fù)制內(nèi)容到剪切板的實(shí)例代碼(兼容IE與火狐)
- JS/FLASH實(shí)現(xiàn)復(fù)制代碼到剪貼板(兼容所有瀏覽器)
- 多瀏覽器兼容性比較好的復(fù)制到剪貼板的js代碼
- GWT中復(fù)制到剪貼板 js+flash實(shí)現(xiàn)復(fù)制 兼容性比較好
- 兼容IE與Firefox的js 復(fù)制代碼
- JavaScript 復(fù)制功能代碼 兼容多瀏覽器
相關(guān)文章
淺析C/C++,Java,PHP,JavaScript,Json數(shù)組、對(duì)象賦值時(shí)最后一個(gè)元素后面是否可以帶逗號(hào)
這篇文章主要介紹了淺析C/C++,Java,PHP,JavaScript,Json數(shù)組、對(duì)象賦值時(shí)最后一個(gè)元素后面是否可以帶逗號(hào)的相關(guān)資料,需要的朋友可以參考下2016-03-03Web技術(shù)實(shí)現(xiàn)移動(dòng)監(jiān)測(cè)的介紹
移動(dòng)偵測(cè),一般也叫運(yùn)動(dòng)檢測(cè),常用于無(wú)人值守監(jiān)控錄像和自動(dòng)報(bào)警。通過(guò)攝像頭按照不同幀率采集得到的圖像會(huì)被 CPU 按照一定算法進(jìn)行計(jì)算和比較,當(dāng)畫(huà)面有變化時(shí),如有人走過(guò),鏡頭被移動(dòng),計(jì)算比較結(jié)果得出的數(shù)字會(huì)超過(guò)閾值并指示系統(tǒng)能自動(dòng)作出相應(yīng)的處理2017-09-09PNGHandler-借助JS讓PNG圖在IE下實(shí)現(xiàn)透明(包括背景圖)
PNGHandler-借助JS讓PNG圖在IE下實(shí)現(xiàn)透明(包括背景圖)...2007-08-08bootstrap datetimepicker實(shí)現(xiàn)秒鐘選擇下拉框
這篇文章主要為大家詳細(xì)介紹了bootstrap datetimepicker添加秒鐘選擇下拉框的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01javascript實(shí)現(xiàn)信息的顯示和隱藏如注冊(cè)頁(yè)面
信息的顯示和隱藏在某些時(shí)候還是比較使用的,就比如注冊(cè)信息,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以了解下2013-12-12firefox TBODY 用js顯示和隱藏時(shí)出現(xiàn)錯(cuò)位的解決方法
今天幫別人寫(xiě)一個(gè)網(wǎng)頁(yè),發(fā)現(xiàn):當(dāng)用javascript動(dòng)態(tài)設(shè)置tr.style.display = "block"顯示某行時(shí),使用IE瀏覽沒(méi)有問(wèn)題,但使用firefox瀏覽時(shí)該行被移到了其它行的后面,很是詫異。2008-12-12根據(jù)身份證號(hào)自動(dòng)輸出相關(guān)信息(籍貫,出身日期,性別)
為了減少客戶(hù)的在頁(yè)面的輸入,做了這個(gè)效果,他可以根據(jù)用戶(hù)輸入的身份證號(hào)輸出籍貫、出身日期、性別的相關(guān)信息,需要的朋友可以參考下2013-11-11