直接上代码,下面是今天写的,可直接运行。I
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
</head>
<body>
<div id="test">
<input type="text" name="abc" id="abc" value="qqqqqqqqqqqqqq">
</div>
<button οnclick="copyToClipboard('abc')">复制</button>
<input type="button" name="anniu2" onClick='copyUrl()' value="复制URL地址">
</body>
<script type="text/javascript">
copy("abc");
function copy(txtid){
var txtObj = document.getElementById(txtid);
if(window.clipboardData){ // 仅IE支持此对象,firefox、chrome不支持
//1、通过clipboardData对象实现复制
//window.clipboardData.clearData();
//window.clipboardData.setData("Text",txtObj.value);
//2、通过document对象实现复制:先选择中文本,再执行复制命令
// txtObj.select();
// document.execCommand("Copy"); // 仅IE支持,Firefox报语法错误,chrome执行结果返回false(不支持)
//3、通过TextRange对象实现现复制:可以不用先选中内容
txtObj.createTextRange().execCommand("Copy");
}
}
function copyUrl()
{
var clipBoardContent=this.location.href;
//支持IE浏览器
window.clipboardData.setData("Text",clipBoardContent);
alert("复制成功!");
}
//
//此方法中内容没做测试是从网上copy下来的 http://www.jb51.net/article/51321.htm
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("复制成功!");
}
}
</script>
</html>