IE6, IE7, IE8, Firefox 兼容的“加入搜藏夹”脚本(转)

转自http://blog.faraway-wind.net/index.php/articles/ie-firefox-compatible-script-for-bookmarking.html
同时兼容IE (版本至最新的IE8) 和 Firefox 的“加入收藏夹”的 Javascript 脚本如下:

查看源代码打印帮助01 function addBookmark(url, title) {

02 if( document.all ) {

03 try

04 {

05 window.external.addFavorite(url, title);

06 }

07 catch (e1)

08 {

09 try

10 {

11 window.external.addToFavoritesBar(url, title);

12 }

13 catch (e2)

14 {

15 alert('加入收藏失败,请您手工加入。')

16 }

17 }

18 } else if (window.external) {

19 window.sidebar.addPanel(title, url,"");

20 } else {

21 alert('加入收藏失败,请您手工加入。')

22 }

23 }

document.all 用来判断是否为IE,window.external.addFavorite是IE7以及以下版本的加入收藏夹接口,window.external.addToFavoritesBar则是IE8的接口。window.external 用于判断是否为Firefox,window.sidebar.addPanel是Firefox加入收藏夹的接口。

在某些IE7中,以上脚本可能会失效,错误原因为window.external.addFavorite元素不存在。这种情况不是由于脚本本身的不健全造成的,而是浏览器自身的Bug。通常这个问题会出现在安装过IE8,又降级到IE7的电脑上(偶的电脑没装过IE8也有这个问题)。导致该错误的原因貌似是注册表中的一个dll组件指向了错误的文件。问题的描述和解决可以参见这篇帖子 http://www.blogjava.net/xiaomage234/archive/2009/05/07/269450.html。我简述如下。

查询注册表项

查看源代码打印帮助1 HKEY_CLASSES_ROOT\TypeLib\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\1.1\0\win32

如果其中默认项 (default) 为

查看源代码打印帮助1 C:\WINDOWS\system32\shdocvw.dll

说明你的IE7有bug。把该键值改为

查看源代码打印帮助1 C:\WINDOWS\system32\ieframe.dll

重启IE,即可解决问题。
注意:如果你的windows安装在了其他目录,请把路径做相应修改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值