我们介绍一个可兼容所有浏览器的加入收藏代码代码,大概原理是这样的我们根据获取用户navigator.userAgent.toLowerCase()信息来判断浏览器,根据浏览器是否支持加入收藏js命令,如果可以自动收藏否则就提示ctrl+D手动收藏了。
1 function addFavorite2() { 2 var url = window.location; 3 var title = document.title; 4 var ua = navigator.userAgent.toLowerCase(); 5 if (ua.indexOf("360se") > -1) { 6 alert("由于360浏览器功能限制,请按 Ctrl+D 手动收藏!"); 7 } 8 else if (ua.indexOf("msie 8") > -1) { 9 window.external.AddToFavoritesBar(url, title); //IE8 10 } 11 else if (document.all) { 12 try{ 13 window.external.addFavorite(url, title); 14 }catch(e){ 15 alert('您的浏览器不支持,请按 Ctrl+D 手动收藏!'); 16 } 17 } 18 else if (window.sidebar) { 19 window.sidebar.addPanel(title, url, ""); 20 } 21 else { 22 alert('您的浏览器不支持,请按 Ctrl+D 手动收藏!'); 23 } 24 }
复制本页面代码保存成js文件,然后在要收藏的地方加上
<a href=# rel="sidebar" onclick="javascript:addFavorite2()">加入收藏</a>
如果 <a>上面没有加 rel="sidebar" ,那么将会报错: window.sidebar.addPanel is not a function
设为首页
function SetHome(obj,vrl) { try { obj.style.behavior='url(#default#homepage)';obj.setHomePage(vrl); } catch(e){ if(window.netscape) { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (e) { alert("此操作被浏览器拒绝! 请在浏览器地址栏输入“about:config”并回车 然后将[signed.applets.codebase_principal_support]设置为'true'"); } var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch); prefs.setCharPref('browser.startup.homepage',vrl); } } }
<a onclick="SetHome(this,window.location)" style="cursor:hand">设为首页</a>