我想找一个能兼容主流各大浏览器的JS添加收藏夹代码。
这个JS添加收藏夹的功能代码很不错,因为它把IE Bug也考虑了进来,即使添加收藏夹不成功,也会有提示,不管在什么情况下,在浏览器右下角都不会出现错误提示,而且代码在火狐、ie8、Opera、Chrome等浏览器下都有完美表现,下面帖出代码:
function addBookmark(){
var ctrl = (navigator.userAgent.toLowerCase()).indexOf('mac') != -1 ? 'Command/Cmd': 'CTRL';
try{
if (document.all) { //IE类浏览器
try {
window.external.toString(); //360浏览器不支持window.external,无法收藏
window.alert("国内开发的360浏览器等不支持主动加入收藏。\n您可以尝试通过浏览器菜单栏 或快捷键 ctrl+D 试试。");
}
catch (e){
try{
window.external.addFavorite(window.location, document.title);
}
catch (e){
window.external.addToFavoritesBar(window.location, document.title); //IE8
}
}
}
else if (window.sidebar) { //firfox等浏览器
window.sidebar.addPanel(document.title, window.location, "");
}
else {
alert('您可以尝试通过快捷键' + ctrl + ' + D 加入到收藏夹~');
}
}
catch (e){
window.alert("因为IE浏览器存在bug,添加收藏失败!\n解决办法:在注册表中查找\n HKEY_CLASSES_ROOT\\TypeLib\\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\\1.1\\0\\win32 \n将 C:\\WINDOWS\\system32\\shdocvw.dll 改为 C:\\WINDOWS\\system32\\ieframe.dll ");
}
}调用方法:<a href="javascript:addBookmark()">添加收藏</a>

