A-A+
	ie8/ie6浏览器加入收藏夹js代码
加入收藏夹是我们在网页中常常会看到的,下面我来介绍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。
例如如下代码:
- <A href="javascript:window.external.addToFavoritesBar('<%=request.getRequestURL()%>','【—<bean:message key="system.title" />—】')">【将此页添加到收藏夹】</A>
 
完全的js代码,IE8添加收藏夹方法不同于IE6,一个兼容的方法如下:
- function addfavor(url,title) {
 - if(confirm("网站名称:"+title+"n网址:"+url+"n确定添加收藏?")){
 - var ua = navigator.userAgent.toLowerCase();
 - if(ua.indexOf("msie 8")>-1){
 - window.external.AddToFavoritesBar(url,title);//IE8
 - }else{
 - try {
 - window.external.addFavorite(url, title);
 - } catch(e) {
 - try {
 - window.sidebar.addPanel(title, url, "");//firefox
 - } catch(e) {
 - alert("加入收藏失败,请使用Ctrl+D进行添加");
 - }
 - }
 - }
 - }
 - return false;
 - }
 
但我们会碰到加入时提示浏览器却出现找不到元素的错误,后来百度了一个 解决方法:
HKEY_CLASSES_ROOT\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1\0\win32
代码如下:
C:\WINDOWS\system32\shdocvw.dll
改为:
C:\WINDOWS\system32\ieframe.dll
那么较完整的兼容多个浏览器的收藏夹代码如下:
- function addfavorite(){
 - switch(getOs()){
 - case 6:window.external.addToFavoritesBar('http://www.xiariboke.net/','国际婚纱礼服网','slice');break;
 - case 1:window.external.addFavorite('http://www.xiariboke.net/','国际婚纱礼服网');break;
 - case 2:window.sidebar.addPanel('国际婚纱礼服网', 'http://www.xiariboke.net/', "");break;
 - case 0:alert("无法识别浏览器");break;
 - }
 - }
 - function getOs(){
 - var ua = navigator.userAgent;
 - if(ua.indexOf("MSIE 8")>0)return 6;
 - if(ua.indexOf("MSIE")>0)return 1;
 - if(isFirefox=ua.indexOf("Firefox")>0)return 2;
 - if(isSafari=ua.indexOf("Safari")>0)return 3;
 - if(isCamino=ua.indexOf("Camino")>0)return 4;
 - if(isMozilla=ua.indexOf("Gecko/")>0)return 5;
 - return 0;
 - }