JavaScript对粘贴板的全操作
<head>
<script language="javascript">
function copy_clip(copyObjectName){
var con = document.getElementById(copyObjectName);
var mytext = con.value;
if (window.clipboardData){
// IE
window.clipboardData.setData("Text", mytext);
// Netscape
}else if(navigator.userAgent.indexOf("Opera") != -1) {
alert("暂不支持Opera");
return false;
}else if (window.netscape){
try{
netscape.security.PrivilegeManager.enablePrivilege ('UniversalXPConnect');
}catch(e){
alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");
}
var copytext=mytext;
//alert("copytext set");
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
//alert("Just tried to set str")
if (!str) return false;
str.data = copytext;
//alert("Just set str.data");
var trans = Components.classes["@mozilla.org/widget/transferable;1"].
createInstance(Components.interfaces.nsITransferable);
if (!trans) return false;
//alert("Just set trans");
trans.addDataFlavor("text/unicode");
trans.setTransferData("text/unicode",str,copytext.length * 2);
var clipid = Components.interfaces.nsIClipboard;
var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(clipid);
if (!clip) return false;
clip.setData(trans,null,clipid.kGlobalClipboard);
}
alert("Following info was copied to your clipboard:\n\n" + mytext);
return false;
}
function getClipboard() {
if (window.clipboardData) {
return(window.clipboardData.getData('Text'));
}
else if (window.netscape) {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
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');
clip.getData(trans,clip.kGlobalClipboard);
var str = new Object();
var len = new Object();
try {
trans.getTransferData('text/unicode',str,len);
}
catch(error) {
return null;
}
if (str) {
if (Components.interfaces.nsISupportsWString) str=str.value.QueryInterface(Components.interfaces.nsISupportsWString);
else if (Components.interfaces.nsISupportsString) str=str.value.QueryInterface(Components.interfaces.nsISupportsString);
else str = null;
}
if (str) {
return(str.data.substring(0,len.value / 2));
}
}
return null;
}
</script>
</head>
<body>
<input type="text" value="中国人不是东亚病夫!" onclick="copy_clip('txtOne');" id="txtOne"/>
</body>
</html>
CopyRight(C) CAnca Software Office.2007