您的位置:首页 > Web前端 > JavaScript

关于IE8/firefox不支持添加到收藏夹代码javascript:window.external.AddFavorite(,'');

2011-01-17 20:22 549 查看
<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: