注意:ie7,與ie8 對網頁有個複製的權限,需在「安全性」中的「自訂等級」的腳本中設置
clipboardData 對象
提供了對剪貼簿的存取。
三個方法
1.clearData(sDataFormat) 刪除剪貼簿中指定格式的資料。
2.getData(sDataFormat) 從剪貼簿取得指定格式的資料。
3.setData(sDataFormat, sData) 給予剪貼簿指定格式的資料。傳回true 表示操作成功。
例子
<script language="JavaScript">
<!--
var text = "123";
if (!window.clipboardData.setData('Text', text)) // 賦予text 格式的數據
{
alert("複製失敗!");
}
text = window.clipboardData.getData('Text'); // 取得text 格式的數據
alert(text);
window.clipboardData.clearData('Text'); // 清除text 格式的數據
text = window.clipboardData.getData('Text');
alert(text);
//-->
</script>
一些方法:
<!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>
<br />
<br />
直接複製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>
<br/>
<br/>
點選文字方塊時,複製文字方塊裡面的內容
<input onclick="oCopy(this)" value="你好.要copy的內容!">
<script language="javascript">
function oCopy(obj){
obj.select();
js=obj.createTextRange();
js.execCommand("Copy")
alert("複製成功!");
}
</script>
<br />
<br />
複製文字方塊或隱藏網域中的內容
<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>
<input name=myimg type=hidden id=myimg value="http://pmp.www.VeVB.COm" />
<input name=imgurl type=text size=32 value="http://pmp.www.VeVB.COm" />
<input type=button value="點這裡複製本站位址" onclick="CopyUrl(imgurl);" />
<br />
<br/>
複製span標記中的內容
<script type="text/javascript">
</script>
<br />
<br />
<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>
以下是程式碼片段:< br />
<br />
<span id="tbid">http://pmp.www.VeVB.COm</span>
[<a href="#" onclick="copyText(document.all.tbid)">點選複製</a>]<br/><br/>
<span id="tbid2">http://www.www.VeVB.COm/pmp</span>
[<a href="#" onclick="copyText(document.all.tbid2)">點選複製</a>]<br/><br/>
</p>
</body>
</html>
還有一種方法:
function copyQQ(qq){
var obj=document.getElementById(qq);
obj.select();
js=obj.createTextRange();
js.execCommand("Copy");
alert("程式碼已經成功複製!");
}
//設定複製內容附加本網站的URL
function SetCopyContent() {
window.event.returnValue = false;
var content = document.title + "/r/n";
content += document.getElementById("txt1").value + "/r/n";
content += "本資源來自" + this.location.href;
window.clipboardData.setData('Text', content);
alert("複製成功,請貼到你的QQ/MSN上推薦給你的好友");
}
調用:
<input id="txt1" type="text" value="Hello World!" onclick="getTxtSelect(event)"/>
<input type="button" value="複製文字方塊中的值" onclick="SetCopyContent();" />
複製代碼代碼如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Window物件的屬性02</title>
<script language="javascript" type="text/javascript">
/*
window.screen對象:螢幕對象,包含了螢幕的相關資訊。
window.clipboardData對象:剪貼簿對象,對剪貼簿操作的對象。 (在網頁內只能支援複製或設定文字格式的)
clearData("Text"):清空剪貼簿
getData("Text"):讀取剪貼簿的值,在IE中只能支援Text文字格式
setData("Text",value):設定剪貼簿中的值
案例:複製地址給好友,見備註
禁止複製:body oncopy事件中設定return false;
oncopy、onpase事件:複製、貼上事件,可用於多數控件
*/
//螢幕解析度
function screenInfo() {
if (window.screen.width < 1024 || window.screen.height < 768) {
window.alert("您的電腦屬於史前產物!");
return;
}
window.alert("您的解析度是:" + window.screen.width + " " + window.screen.height);
}
//複製地址給好友
function operClipBoard() {
var divObj = document.getElementById("divClipBoard");
var content = divObj.innerText;
content = "您複製的內容是:" + content + " /r/n 資源來源:" + window.location.href;
window.alert('複製成功!');
//客戶複製完之後,這個屬性才會顯示內容
window.alert(window.clipboardData.getData("text"));
window.clipboardData.setData("Text",content);
}
//網頁禁止複製
function forbidCopy() {
window.alert("網頁的內容,自能看,不能動!");
return false;
}
</script>
</head>
<body onload="screenInfo();" oncopy="forbidCopy();" >
<form id="form1" runat="server">
<div id="divClipBoard" onclick="operClipBoard();" >
//www.VeVB.COm
</div>
<hr />
輸入密碼:
<input type="text" oncopy="window.alert('禁止複製!');return false;" />
再輸入一邊密碼:
<input type="text" onpaste="window.alert('禁止貼上!');return false;" />
</form>
</body>
</html>
複製代碼代碼如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script language="javascript" type="text/javascript">
/*
div 沒有oncopy事件
body 與文字方塊有這個事件
*/
function OperClipBoard() {
window.clipboardData.setData("Text", window.clipboardData.getData("Text") + "/r/n本資源來自:" + window.location.href);
}
/*
流程:先oncopy觸發,觸發後僅是將內容複製到貼上板,如果需要2次處理的話,等內容複製到貼上後,再進行2次操作,也就是對值進行處理後,
在賦值操作
*/
function copyContent()
{
window.setTimeout("OperClipBoard()", 100);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div oncopy="copyContent();">
Hello MyJSWorld!
</div>
<br />
<input type="text" oncopy="OperClipBoard();" value="Hello MyJSWorld!" />
</form>
</body>
</html>