function addFavorite() { var aUrls = document.URL.split("/"); var vDomainName = "http://" + aUrls[2] + "/"; var description = document.title; try {//IE window.external.AddFavorite(vDomainName, description); } catch(e) {//FF window.sidebar.addPanel(description, vDomainName, ""); }}
同时兼容IE (版本至最新的IE8) 和 Firefox 的“加入收藏夹”的 Javascript 脚本如下:function addBookmark(url, title) {if( document.all ) { try { window.external.addFavorite(url, title); } catch (e1) { try { window.external.addToFavoritesBar(url, title); } catch (e2) { alert('加入收藏失败,请您手工加入。') } }} else if (window.external) { window.sidebar.addPanel(title, url,"");} else { alert('加入收藏失败,请您手工加入。')}}document.all 用来判断是否为IE,window.external.addFavorite是IE7以及以下版本的加入收藏夹接口,window.external.addToFavoritesBar则是IE8的接口。window.external 用于判断是否为Firefox,window.sidebar.addPanel是Firefox加入收藏夹的接口。在某些IE7中,以上脚本可能会失效,错误原因为window.external.addFavorite元素不存在。这种情况不是由于脚本本身的不健全造成的,而是浏览器自身的Bug。通常这个问题会出现在安装过IE8,又降级到IE7的电脑上(偶的电脑没装过IE8也有这个问题)。导致该错误的原因貌似是注册表中的一个dll组件指向了错误的文件。问题的描述和解决可以参见这篇帖子