我们最常用的在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);
- }else{
- try {
- window.external.addFavorite(url, title);
- } catch(e) {
- try {
- window.sidebar.addPanel(title, url, "");
- } 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:
- case 1:window.external.addFavorite('http:
- case 2:window.sidebar.addPanel('国际婚纱礼服网', 'http:
- 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;
- }
-