A-A+

ie8/ie6浏览器加入收藏夹js代码

2016年02月21日 web前端设计 暂无评论 阅读 6 views 次

加入收藏夹是我们在网页中常常会看到的,下面我来介绍ie8/ie6浏览器加入收藏夹js代码,同时也讲述了ie8加入收藏夹的一些问题解决办法总结。

我们最常用的在ie8加入收藏的办法是如下

在IE8中点击加入收藏的方法

AddToFavoritesBar API 方法

这是为促进添加到收藏夹栏而供网站使用的一种新方法。用户调用此方法后,允许预订 WebSlice 的对话框将出现。

window.external.addToFavoritesBar(string URL, string Title, [optional] string Type)

URL:必需。这是要添加的 WebSlice 的 URL。它是包括 WebSlice 锚点的完整 URL。

标题:必需。这是 WebSlice 的名称。

类型:可选。这是链接的类型。此值必须为“slice”,以便 Internet Explorer 8 Beta for Developers 可以预订此 WebSlice。

例如如下代码:

  1. <A href="javascript:window.external.addToFavoritesBar('<%=request.getRequestURL()%>','【—<bean:message key="system.title" />—】')">【将此页添加到收藏夹】</A>  

完全的js代码,IE8添加收藏夹方法不同于IE6,一个兼容的方法如下:

  1. function addfavor(url,title) {  
  2.     if(confirm("网站名称:"+title+"n网址:"+url+"n确定添加收藏?")){  
  3.         var ua = navigator.userAgent.toLowerCase();  
  4.         if(ua.indexOf("msie 8")>-1){  
  5.             window.external.AddToFavoritesBar(url,title);//IE8  
  6.         }else{  
  7.             try {  
  8.                 window.external.addFavorite(url, title);  
  9.             } catch(e) {  
  10.                 try {  
  11.                     window.sidebar.addPanel(title, url, "");//firefox  
  12.                 } catch(e) {  
  13.                     alert("加入收藏失败,请使用Ctrl+D进行添加");  
  14.                 }  
  15.             }  
  16.         }  
  17.     }  
  18.     return false;  
  19. }  

但我们会碰到加入时提示浏览器却出现找不到元素的错误,后来百度了一个 解决方法:

HKEY_CLASSES_ROOT\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1\0\win32

代码如下:

C:\WINDOWS\system32\shdocvw.dll

改为:

C:\WINDOWS\system32\ieframe.dll

那么较完整的兼容多个浏览器的收藏夹代码如下:

  1. function addfavorite(){  
  2.    switch(getOs()){  
  3.      case 6:window.external.addToFavoritesBar('http://www.xiariboke.com/','国际婚纱礼服网','slice');break;  
  4.        case 1:window.external.addFavorite('http://www.xiariboke.com/','国际婚纱礼服网');break;  
  5.        case 2:window.sidebar.addPanel('国际婚纱礼服网', 'http://www.xiariboke.com/', "");break;  
  6.        case 0:alert("无法识别浏览器");break;  
  7.    }  
  8. }  
  9. function getOs(){  
  10.    var ua = navigator.userAgent;  
  11.    if(ua.indexOf("MSIE 8")>0)return 6;  
  12.    if(ua.indexOf("MSIE")>0)return 1;  
  13.    if(isFirefox=ua.indexOf("Firefox")>0)return 2;  
  14.    if(isSafari=ua.indexOf("Safari")>0)return 3;     
  15.    if(isCamino=ua.indexOf("Camino")>0)return 4;  
  16.    if(isMozilla=ua.indexOf("Gecko/")>0)return 5;  
  17.    return 0;  
  18. }  
标签:

给我留言