下面是ie firefox 读取剪切板中的信息的方法 

复制代码代码如下:

function getClipboard() 

if (window.clipboardData) 

return (window.clipboardData.getData('text')); 

else 

if (window.netscape) 

try 

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(); 
trans.getTransferData("text/unicode", str, len); 

catch (e) 

alert("您的firefox安全限制限制您进行剪贴板操作,请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试,相对路径为firefox根目录/greprefs/all.js"); 
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; 


下面是 ie,firefox下 写入剪切板的代码 

复制代码代码如下:

copy2Clipboard=function(txt){ 
if(window.clipboardData){ 
window.clipboardData.clearData(); 
window.clipboardData.setData("Text",txt); 

else if(navigator.userAgent.indexOf("Opera")!=-1){ 
window.location=txt; 

else if(window.netscape){ 
try{ 
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 

catch(e){ 
alert("您的firefox安全限制限制您进行剪贴板操作,请打开'about:config'将signed.applets.codebase_principal_support'设置为true'之后重试,相对路径为firefox根目录/greprefs/all.js"); 
return false; 

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); 


具体的应用,可以参考脚本之家的代码。

posted on 2014-11-03 10:37  ymlove7  阅读(241)  评论(0)    收藏  举报