转帖:IE6, IE7, IE8, Firefox 兼容的“加入搜藏夹”脚本

    技术2022-05-20  41

    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组件指向了错误的文件。问题的描述和解决可以参见这篇帖子


    最新回复(0)