关于IE8/firefox不支持添加到收藏夹代码

<a href="javascript:window.external.AddFavorite(location.href,'${course.name}收藏');">添加到收藏夹</a>是我写的添加到收藏夹的代码。但是当我用IE8调试的时候浏览器报找不到元素错误。当我用Firefox调试的时候报 window.external.AddFavorite() is not a function 错误。但是我用360浏览器就能添加到收藏夹。为此我查阅了一些资料,找到了适合我的解决办法。方法如下: 

1、点击 开始-运行-regedit-确定 

2、寻找HKEY_CLASSES_ROOT/TypeLib/{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}/1.1/0/win32 

3、点击‘Default’,如果它的值是C:/WINDOWS/system32/shdocvw.dll 就把它用C:/WINDOWS/system32/ieframe.dll 替换掉就可以了。 

4、这样修改好后重启IE8加载你的项目就可以了。    

不过以上设置  关机后再开机就不起作用了。个人感觉IE8自带的添加到收藏夹的快捷键为ctrl+D。所以大家在编写代码的时候不如做如下判断: 

如果浏览器是IE8,那就给用户alert("请使用Ctrl+D进行添加"); 

大致代码如下: 

<script type="text/javascript">

function addToBookMark(url,title){

 var ua = navigator.userAgent.toLowerCase();

 if(ua.indexOf("msie 8")>-1){

  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;   

}

</script>

posted @ 2012-03-25 15:44  憶言  阅读(299)  评论(0编辑  收藏  举报