Javascript 实现复制(Copy)动作方法总结
JavaScript方法 实现 总结 复制 copy 动作
2023-09-11 14:19:55 时间
1、实现点击按钮,复制文本框中的的内容
<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复制选中内容,所以此时选择的内容必须是可视的,也就是说不能是隐藏的文本域。
2、复制专题地址和 url 地址,传给 QQ/MSN 上的好友
function copyToClipBoard(){
var clipBoardContent="";
clipBoardContent+=document.title;
clipBoardContent+="";
clipBoardContent+=this.location.href;
window.clipboardData.setData("Text",clipBoardContent);
}
主要是用到:window.clipboardData.setData,这个方法
// 直接复制 url
function copyUrl(){
var clipBoardContent=this.location.href;
window.clipboardData.setData("Text",clipBoardContent);
}
3、点击文本框时,复制文本框里面的内容
<input onclick="oCopy(this)" value="你好.要copy的内容!">
<script language="javascript">
function oCopy(obj){
obj.select();
js=obj.createTextRange();
js.execCommand("Copy")
alert("复制成功!");
}
</script>
4、复制文本框或者隐藏域中的内容
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("复制成功!");
}
5、复制 span 标记中的内容
function copyText(obj) {
var rng = document.body.createTextRange();
rng.moveToElementText(obj);
rng.scrollIntoView();
rng.select();
rng.execCommand("Copy");
rng.collapse(false);
alert("复制成功!");
}
6、浏览器兼容 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 );
});
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实现在线测试HTTP延迟方法
- JavaScript实现搜索框效果
- JavaScript中统计字符的个数
- 关于javascript字符串连接性能
- (转)ASP.NET调用javascript脚本的方法总结
- [Javascript] Create Your First Iterator in JavaScript
- [Javascript] Await a JavaScript Promise in an async Function with the await Operator
- [Javascript] Identify and Deal with NaN in JavaScript
- javascript:得到变量类型的方法(chrome 105.0.5195.125)
- JavaScript的filter方法
- JavaScript indexOf() 方法详解
- [Javascript] Convert a Callback-Based JavaScript Function to a Promise-Based One
- [Javascript] How to use JavaScript's String.replace
- [Javascript] Hoisting in JavaScript
- javaScript面向对象继承方法经典实现
- JavaScript 三种创建对象的方法
- SAP Cloud SDK for JavaScript 的搭建和使用方法介绍
- Atitit.实现继承的原理and方法java javascript .net c# php ...
- SAP Cloud SDK for JavaScript 的搭建和使用方法介绍
- 介绍一种在ABAP内核态进行内表高效拷贝的方法,和对应的Java和JavaScript版本的伪实现
- 很多高手的JavaScript代码里都有array.slice(0),这语句有什么用
- 从零开始学_JavaScript_系列(22)——dojo(9)(表单、JsonRest的post方法,widget的使用思路)
- sublime配置Node.js+JavaScript脚本解释器
- 初探JavaScript(四)——作用域链和声明提前
- web前端Javascript学习之了解JavaScript弹出框
- JavaScript 框架(库)