觉得这个JS添加收藏夹的功能代码很不错,因为它把IE Bug也考虑了进来,即使添加收藏夹不成功,也会有提示,不管在什么情况下,在浏览器右下角都不会出现错误提示,而且代码在火狐、ie8、Opera、Chrome等浏览器下都有完美表现,下面帖出代码:
01 | function addBookmark(){ |
02 | var ctrl = (navigator.userAgent.toLowerCase()).indexOf( 'mac' ) != -1 ? 'Command/Cmd' : 'CTRL' ; |
03 | try { |
04 | if (document.all) { //IE类浏览器 |
05 | try { |
06 | window.external.toString(); //360浏览器不支持window.external,无法收藏 |
07 | window.alert( "国内开发的360浏览器等不支持主动加入收藏。\n您可以尝试通过浏览器菜单栏 或快捷键 ctrl+D 试试。" ); |
08 | } |
09 | catch (e){ |
10 | try { |
11 | window.external.addFavorite(window.location, document.title); |
12 | } |
13 | catch (e){ |
14 | window.external.addToFavoritesBar(window.location, document.title); //IE8 |
15 | } |
16 | } |
17 | } |
18 | else if (window.sidebar) { //firfox等浏览器 |
19 | window.sidebar.addPanel(document.title, window.location, "" ); |
20 | } |
21 | else { |
22 | alert( '您可以尝试通过快捷键' + ctrl + ' + D 加入到收藏夹~' ); |
23 | } |
24 | } |
25 | catch (e){ |
26 | window.alert( "因为IE浏览器存在bug,添加收藏失败!\n解决办法:在注册表中查找\n HKEY_CLASSES_ROOT\\TypeLib\\{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}\\1.1\\0\\win32 \n将 C:\\WINDOWS\\system32\\shdocvw.dll 改为 C:\\WINDOWS\\system32\\ieframe.dll " ); |
27 | } |
28 | } |
调用方法:<a href="javascript:addBookmark()">添加收藏</a>
联系客服