需要注意的是,firefox下必须要设置下
signed.applets.codebase_principal_support
在 firefox浏览器地址栏输入about:config 过滤器中输入signed.applets.codebase_principal_support双击设置为true即可支持。因为firefox默认情况下是不支持脚本操作剪切板的。
因为只是什么都不支持的浏览器才是最安全的浏览器。
[ctrl+a 全选 注:如需引入外部js需刷新才能执行]
下面是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);
}
}
具体的应用,可以参考脚本之家的代码。