复制文本框内容至剪贴板
生活随笔
收集整理的這篇文章主要介紹了
复制文本框内容至剪贴板
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 <body>
2 <form id="form1" runat="server">
3 <div>
4 <textarea id="txtArea" cols="30" rows="3">我是一個文本,Hello World!</textarea><br />
5 <input type="button" name="name" value="復制內容" onclick="copyToClipBoard('txtArea')" />
6 </div>
7 </form>
8 </body>
JS:
1 <script type="text/javascript"> 2 //復制文本框 3 function copyToClipBoard(id) { 4 var code = $("#" + id).val(); 5 code = HTMLDeCode(code); 6 var tip = copyCode(code); 7 if (tip == 0) {//0 成功 1 失敗 2 不支持 3 已經提示 8 var _open = tool.getCookieValue("open"); 9 if (_open == "0" && _global.security == "1") { 10 alert("您當前的安全級別為高,此時“完全公開”代碼將無效\n若要繼續選擇“完全公開”代碼,請將安全級設置為“中”。"); 11 } else { 12 tool.setCenter($("#box2"), 0); 13 $("#box2").fadeIn(); 14 } 15 } else if (tip == 1) { 16 alert("復制失敗,請重試!"); 17 } else if (tip == 2) { 18 alert("您的瀏覽器不支持此功能"); 19 } 20 if (typeof pgvSendClick == "function") { 21 if (tool.getCookieValue("open") == 1) { 22 pgvSendClick({ hottag: 'R1JT.wp.index.security' }); 23 } else { 24 pgvSendClick({ hottag: 'R1JT.wp.index.open' }); 25 } 26 } 27 28 } 29 //去掉特殊符號 30 function HTMLDeCode(str) { 31 var s = ""; 32 if (str.length == 0) return ""; 33 s = str.replace(/&/g, "&") 34 .replace(/</g, "<") 35 .replace(/>/g, ">") 36 .replace(/ /g, " ") 37 .replace(/'/g, "'") 38 .replace(/"/g, "\""); 39 return s; 40 } 41 //執行復制 42 function copyCode(txt) {//0 成功 1 失敗 2 不支持 3 已經提示 43 if (window.clipboardData) {//IE 44 window.clipboardData.clearData(); 45 window.clipboardData.setData("Text", txt); 46 return 0; 47 } else if (navigator.userAgent.indexOf("Opera") != -1) {//Opera 48 return 2; 49 } else if (window.netscape) {//火狐 50 try { 51 netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 52 } catch (e) { 53 alert("被瀏覽器拒絕!\n請在瀏覽器地址欄輸入'about:config'并回車\n然后將'signed.applets.codebase_principal_support'設置為'true'"); 54 return 3; 55 } 56 var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); 57 if (!clip) 58 return 1; 59 var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); 60 if (!trans) 61 return 1; 62 trans.addDataFlavor('text/unicode'); 63 var str = new Object(); 64 var len = new Object(); 65 var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString); 66 var copytext = txt; 67 str.data = copytext; 68 trans.setTransferData("text/unicode", str, copytext.length * 2); 69 var clipid = Components.interfaces.nsIClipboard; 70 if (!clip) 71 return 1; 72 clip.setData(trans, null, clipid.kGlobalClipboard); 73 return 0; 74 } else {//chrome ,safra 75 return 2; 76 } 77 } 78 </script>IE 能正常復制,火狐 通過設置可以復制
谷歌,Opera 不支持,繼續尋找好的解決辦法!
轉載于:https://www.cnblogs.com/zhaozhengyan/archive/2012/08/10/CopyText.html
總結
以上是生活随笔為你收集整理的复制文本框内容至剪贴板的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot + QueryDS
- 下一篇: SYSU每周一赛(13.03.16)10