最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

支持ie与FireFox的剪切板操作代码_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 20:44:32
文档

支持ie与FireFox的剪切板操作代码_javascript技巧

支持ie与FireFox的剪切板操作代码_javascript技巧: 代码如下: 支持ie与FireFox的剪切板代码 function setCopy(_sTxt){ try{ if(window.clipboardData){ window.clipboardData.setData(Text, _sTxt); } else if(window.netscape) {//FireFox搞得真复杂呀
推荐度:
导读支持ie与FireFox的剪切板操作代码_javascript技巧: 代码如下: 支持ie与FireFox的剪切板代码 function setCopy(_sTxt){ try{ if(window.clipboardData){ window.clipboardData.setData(Text, _sTxt); } else if(window.netscape) {//FireFox搞得真复杂呀


代码如下:


支持ie与FireFox的剪切板代码

function setCopy(_sTxt){
try{
if(window.clipboardData){
window.clipboardData.setData("Text", _sTxt);
} else if(window.netscape) {//FireFox搞得真复杂呀
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');
var str = new Object();
var len = new Object();
var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
var copytext = _sTxt;
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);
}
}catch(e){}
}





Firefox/3.0.14下可以运行

Firefox/3.5.3下无效

不过多考虑这一块了。



下面是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);
}
}

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

文档

支持ie与FireFox的剪切板操作代码_javascript技巧

支持ie与FireFox的剪切板操作代码_javascript技巧: 代码如下: 支持ie与FireFox的剪切板代码 function setCopy(_sTxt){ try{ if(window.clipboardData){ window.clipboardData.setData(Text, _sTxt); } else if(window.netscape) {//FireFox搞得真复杂呀
推荐度:
标签: 剪切板 IE js
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top