原生 js,兼容所有的浏览器(ie,chrome,firefox),值得收藏。
函数如下:
function addFavorite(obj, opts){ var _t, _u; if(typeof opts != 'object'){ _t = document.title; _u = location.href; }else{ _t = opts.title || document.title; _u = opts.url || location.href; } try{ window.external.addFavorite(_u, _t); }catch(e){ if(window.sidebar){ obj.href = _u; obj.title = _t; obj.rel = 'sidebar'; }else{ alert('抱歉,您所使用的浏览器无法完成此操作。\n\n请使用 Ctrl + D 将本页加入收藏夹!'); } } }
参数说明:
1、第一个参数必须,指代触发事件对象,一般为 this;
2、第二个参数是对象,可选项。对象有两个属性 title 和 url(两个属性都是可选项)。
使用方法:
<!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"/> <title>收藏本站</title> </head> <body> <a href="javascript:;" onclick="addFavorite(this);">收藏本站</a> </body> </html>
PS:
网上那些收藏本站的代码,经博主测试发现在 firefox 下面有些问题,原因是 addPanel 这个方法在 firefox24 以后就没有了,解决方法是给 a 标签添加 rel=”sidebar”,同时给 href 和 title 属性赋值。