JavaScript 实现多浏览器兼容的设为首页与加入收藏功能

作者:像素猫时间:2026-10-26 05:10:54浏览:586

本文提供一段完整的 JavaScript 代码,用于实现网页的设为首页与加入收藏功能。该方案通过 try-catch 机制分别处理 IE 的 window.external 和 Firefox 的 window.sidebar 接口,并针对 Netscape 等旧版浏览器提供了通过修改配置文件实现设为首页的降级方案,确保在不同浏览器环境下具备较好的兼容性。

多浏览器兼容的设为首页与加入收藏代码实现

代码实现如下:


具体代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function AddFavorite(sURL, sTitle)
{ 
try
{ 
window.external.addFavorite(sURL, sTitle);
} 
catch (e)
{ 
try
{ 
window.sidebar.addPanel(sTitle, sURL, "");
} 
catch (e)
{ 
alert("加入收藏失败,请使用Ctrl+D进行添加");
} 
} 
} 
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>
</head>
<body>
<form id="form1" runat="server">
<a onclick="AddFavorite(window.location,document.title)" style="cursor:pointer">加入收藏</a>
<a onclick="SetHome(this,window.location)" style="cursor:pointer">设为首页</a>
</form>
</body>
</html>
作者最新文章