复制、收藏的兼容性代码

来源:百度文库 编辑:神马文学网 时间:2024/04/29 21:15:27
1、复制到剪贴板。
程序代码
function copy(text){
if(window.clipboardData){//判断是否具有clipboardData对象,IE
window.clipboardData.setData("Text",text);
}else if(window.netscape){//判断是否存在netscape对象,FF
try{//用try来尝试使用对象
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}catch(e){//如果不能使用剪贴板,提示用户出错
alert(‘您的firefox安全限制限制您进行剪贴板操作。\n请打开 "about:config" 将signed.applets.codebase_principal_support "设置为true" 之后重试‘);
return false;
}
var clip,trans,str={},clipid;
if(!(clip=Components.classes["@mozilla.org/widget/clipboard;1"].createInstance(Components.interfaces.nsIClipboard))) return;
if(!(trans=Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable))) return;
trans.addDataFlavor("text/unicode");
str=Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
str.data=text;
trans.setTransferData("text/unicode",str,text.length*2);
clipid=Components.interfaces.nsIClipboard;
try{
clip.setData(trans,null,clipid.kGlobalClipboard);
}catch(e){return false}
}
}
2、添加到收藏夹。
程序代码
function addBookmark(title,url){
if(window.sidebar){//判断是否具有sidebar对象,FF
try{//如果url不是以http://或者ftp://或者https://开头的,会出错
window.sidebar.addPanel(title,url,"");
}catch(e){}
}else if(window.external.AddFavorite){//判断是否具有AddFavorite方法,IE
window.external.AddFavorite(url,title);
}
}