- function addToFav(url, title){
- if (window.sidebar) { // Mozilla Firefox Bookmark
- window.sidebar.addPanel(title, url,"");
- }else if(document.all && window.external) { // IE Favorite
- if(window.external.addToFavoritesBar) {
- window.external.addToFavoritesBar(url, title); //IE8
- }else{
- window.external.AddFavorite(url, title);
- }
- }else if(window.opera) { // Opera 7+
- document.getElementById("addlink").href = url;
- document.getElementById("addlink").title = title;
- document.getElementById("addlink").rel="sidebar";
- }else {//Chrome不好处理
- alert("浏览器不支持该操作,尝试快捷键 Ctrl + D");
- }
- }
PS:
Opera处理是从网上摘录,没有测试环境。
Chrome没有办法用JS添加收藏夹,但是Chrome具有生成桌面快捷方式的功能,可以用该方法替代收藏夹,参考:Chrome一键“加入收藏”按钮实现代码(gears API)。
Code:
<!doctype html>
<html>
<head>
<title>把页面设置为首页,加入收藏功能,支持ie,ff,chrome,safari,360安全,qq,遨游,搜狗浏览器,不兼容360急速浏览器的加入收藏功能</title>
</head>
<body>
<div>
<a href="/">首页</a> |
<a οnclick="SetHome(window.location)" href="javascript:void(0)">设为首页</a>
| <a οnclick="AddFavorite(window.location,document.title)" href="javascript:void(0)">加入收藏</a>
</div>
<script type="text/javascript" language="javascript">
//加入收藏
function AddFavorite(sURL, sTitle) {
sURL = encodeURI(sURL);
try{
window.external.addFavorite(sURL, sTitle);
}catch(e) {
try{
window.sidebar.addPanel(sTitle, sURL, "");
}catch (e) {
alert("加入收藏失败,请使用Ctrl+D进行添加,或手动在浏览器里进行设置.");
}
}
}
//设为首页
function SetHome(url){
if (document.all) {
document.body.style.behavior='url(#default#homepage)';
document.body.setHomePage(url);
}else{
alert("您好,您的浏览器不支持自动设置页面为首页功能,请您手动在浏览器里设置该页面为首页!");
}
}
</script>
</body>
</html>