我们最常用的在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.111cn.net/','国际婚纱礼服网','slice');break;
case 1:window.external.addFavorite('http://www.111cn.net/','国际婚纱礼服网');break;
case 2:window.sidebar.addPanel('国际婚纱礼服网', 'http://www.111cn.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;
}
|
|