javascript 实现复制(copy)动作大全
一、实现点击按钮,复制文本框中的的内容
<script type="text/javascript">function copyurl2(){ var url2=document.getelementbyid("biao1"); url2.select(); // 选择对象 document.execcommand("copy"); // 执行浏览器复制命令 alert("已复制好,可贴粘。");}</script> <textarea cols="20" rows="10" id="biao1">用户定义的代码区域</textarea><input type="button" onclick="copyurl2()" value="点击复制代码" />
原理:点击按钮的时候触发copyurl2函数,根据biao1 id选中对象,然后在根据execcommand复制选中内容,所以此时选择的内容必须是可视的,也就是说不能是隐藏的文本域。
二、复制专题地址和 url 地址,传给 qq/msn 上的好友
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="content-type" content="text/html; charset=gb2312" /><title>js复制代码</title></head><body><p><input type="button" name="anniu1" onclick='copytoclipboard()' value="复制专题地址和url地址,传给qq/msn上的好友"><script language="javascript">function copytoclipboard(){var clipboardcontent="";clipboardcontent+=document.title;clipboardcontent+="";clipboardcontent+=this.location.href;window.clipboarddata.setdata("text",clipboardcontent);alert("复制成功,请粘贴到你的qq/msn上推荐给你的好友");}</script>
三、直接复制 url
<input type="button" name="anniu2" onclick='copyurl()' value="复制url地址"> <script language="javascript">function copyurl(){ var clipboardcontent=this.location.href; window.clipboarddata.setdata("text",clipboardcontent); alert("复制成功!");}</script>
四、点击文本框时,复制文本框里面的内容
<input onclick="ocopy(this)" value="你好.要copy的内容!"><script language="javascript">function ocopy(obj){ obj.select(); js=obj.createtextrange(); js.execcommand("copy") alert("复制成功!");}</script>
五、复制文本框或者隐藏域中的内容
<script language="javascript">function copyurl(target){ target.value=myimg.value; target.select(); js=myimg.createtextrange(); js.execcommand("copy"); alert("复制成功!");} function addimg(target){ target.value="[img]"+myimg.value+"[/ img]"; target.select(); js=target.createtextrange(); js.execcommand("copy"); alert("复制成功!");}</script>
六、复制 span 标记中的内容
<script type="text/javascript"></script><script type="text/javascript"> function copytext(obj) { var rng = document.body.createtextrange(); rng.movetoelementtext(obj); rng.scrollintoview(); rng.select(); rng.execcommand("copy"); rng.collapse(false); alert("复制成功!");}</script>
七、浏览器兼容 copytoclipboard("拷贝内容")
function copytoclipboard(txt) { if (window.clipboarddata) { window.clipboarddata.cleardata(); clipboarddata.setdata("text", txt); alert("复制成功!"); } else if (navigator.useragent.indexof("opera") != -1) { window.location = txt; } else if (window.netscape) { try { netscape.security.privilegemanager.enableprivilege("universalxpconnect"); } catch (e) { alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将 'signed.applets.codebase_principal_support'设置为'true'"); } var clip = components.classes['@mozilla.org/widget/clipboard;1'].createinstance(components.interfaces.nsiclipboard); if (!clip) return; var trans = components.classes['@mozilla.org/widget/transferable;1'].createinstance(components.interfaces.nsitransferable); if (!trans) return; trans.adddataflavor("text/unicode"); var str = new object(); var len = new object(); var str = components.classes["@mozilla.org/supports-string;1"].createinstance(components.interfaces.nsisupportsstring); var copytext = txt; str.data = copytext; trans.settransferdata("text/unicode", str, copytext.length * 2); var clipid = components.interfaces.nsiclipboard; if (!clip) return false; clip.setdata(trans, null, clipid.kglobalclipboard); alert("复制成功!"); } }
八、兼容各大浏览器的复制代码(结合zeroclipboard.js)
<html><head><title>zero clipboard test</title><script type="text/javascript" src="zeroclipboard.js"></script><script language="javascript"> var clip = null; function $(id) { return document.getelementbyid(id); } function init() { clip = new zeroclipboard.client(); clip.sethandcursor(true); clip.addeventlistener('mouseover', function (client) { // update the text on mouse over clip.settext( $('fe_text').value ); }); clip.addeventlistener('complete', function (client, text) { //debugstr("copied text to clipboard: " + text ); alert("该地址已经复制,你可以使用ctrl+v 粘贴。"); }); clip.glue('clip_button', 'clip_container' ); }</script></head><body onload="init()"><input id="fe_text" cols=50 rows=5 value=复制内容文本1 ><span id="clip_container"><span id="clip_button"><b>复制</b></span></span></body></html>
更多编程相关知识,请访问:编程入门!!
以上就是javascript实现复制动作的几种方法(总结)的详细内容。