js实现加入收藏与设为首页(兼容IE、Firefox)

发布时间:2019-07-22编辑:脚本学堂
分享下加入收藏与设为首页的一段js代码,兼容IE、Firefox浏览器,有需要的朋友参考下。

设为首页与加入收藏的代码,如下:
代码说明:

<script type="text/javascript"> 
function addBookmark(title,url) { 
if (window.sidebar) { 
window.sidebar.addPanel(title,url,""); 
} else if( document.all ) { 
window.external.AddFavorite(url,title); 
} else if( window.opera && window.print ) { 
return true; 
} 
} 

function setHome(url) 
{ 
if (document.all){ 
document.body.style.behavior='url(#default#homepage)'; 
document.body.setHomePage(url); 
}else if (window.sidebar){ 
if(window.netscape){ 
try{ 
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
}catch (e){ 
alert( "该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true" ); 
} 
} 
if(window.confirm("设置"+url+"为首页吗?")==1){ 
var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch); 
prefs.setCharPref('browser.startup.homepage',url); 
} 
} 
} 
</script> 
<a href="javascript:void(null)" onClick="setHome('http://www.jb200.com');">设为首页</a> - 
<a href="javascript:addBookmark('脚本学堂','http://www.jb200.com')">加入收藏</a>

以上代码中的网址必须带http://,否则firefox下不通过。

另外,提供一些定义的可传参的函数,有兴趣的朋友可以琢磨下。

<script language="JavaScript"> 
<!-- 
/** 
* 添加收藏 
* @param {} sURL 收藏链接地址 
* @param {} sTitle 收藏标题 
*/ 
function addBookmark(url, title) { 
if(document.all) { 
try 
{ 
window.external.addFavorite(url, title); 
} 
catch (e1) 
{ 
try 
{ 
window.external.addToFavoritesBar(url, title); 
} 
catch (e2) 
{ 
alert('加入收藏失败,请您手工加入。') 
} 
} 
} else if (window.external) { 
window.sidebar.addPanel(title, url,""); 
} else { 
alert('加入收藏失败,请您手工加入。') 
} 

} 

/** 
* 设为首页 
* @param {} obj 当前对象,一般是使用this引用。 
* @param {} vrl 主页URL 
*/ 
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("此操作被浏览器拒绝!n请在浏览器地址栏输入“about:config”并回车n然后将 [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); 
} 
} 
} 
//--> 
</script>