本文详细讲解了如何在网页中实现兼容Firefox和IE浏览器的加入收藏夹功能。介绍了IE专用的window.external.addFavorite方法与Firefox的两种书签添加方式,包括window.sidebar.addPanel及rel="sidebar"属性。通过组合使用这些方法,并优化点击事件以阻止默认跳转,实现了在IE6、IE7及Firefox等主流浏览器中的良好兼容效果。
IE与Firefox加入收藏夹代码实现
完整代码如下:Chrome浏览器下也会有相应提示,实际上这类代码主要设计用于IE浏览器,其他浏览器通常仅提供提示功能。
<script type="text/javascript">
//设为首页 www.jb51.net
function SetHome(obj,url){
try{
obj.style.behavior='url(#default#homepage)';
obj.setHomePage(url);
}catch(e){
if(window.netscape){
try{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}catch(e){
alert("抱歉,此操作被浏览器拒绝!\n\n请在浏览器地址栏输入“about:config”并回车然后将[signed.applets.codebase_principal_support]设置为'true'");
}
}else{
alert("抱歉,您所使用的浏览器无法完成此操作。\n\n您需要手动将【"+url+"】设置为首页。");
}
}
}
//收藏本站 www.jb51.net
function AddFavorite(title, url) {
try {
window.external.addFavorite(url, title);
}
catch (e) {
try {
window.sidebar.addPanel(title, url, "");
}
catch (e) {
alert("抱歉,您所使用的浏览器无法完成此操作。\n\n加入收藏失败,请进入新网站后使用Ctrl+D进行添加");
}
}
}
</script>
<a href="javascript:void(0);" onclick="SetHome(this,'https://www.jb51.net');">设为首页</a>
<div class="text text2"><a href="javascript:void(0);" onclick="AddFavorite('本站','https://www.jb51.net')">收 藏 本 站</a>
下面是对具体实现方式的详细讲解:
IE浏览器加入收藏夹代码
1、IE浏览器加入收藏夹的代码 window.external.addFavorite(sURL, sTitle); 参数: sURL:添加到收藏夹的完整网站页面地址 sTitle:添加到收藏夹中的网站页面标题名称。 示例: <a href='#' onClick="javascript:window.external.AddFavorite('http://www.domain.com', '名字');">加入收藏</a> 2、Firefox浏览器加入收藏夹的代码 Firefox中叫做加入书签(收藏夹),代码有两种方式,一种同IE浏览器的方法类似,只不过是window.external.AddFavorite换成了sidebar.addPanel,另外一种却十分简单,只需要加一个参数就可以了。 第一种方法: window.sidebar.addPanel(sTitle, sURL, ""); 参数 sURL:收藏的网站页面完整连接 sTitle:收藏网站页面的名称 示例: <a href='#' onClick="javascript:window.sidebar.addPanel('名字','http://www.domain.com','');">收藏本站</a> 这里要注意,addPanel函数的参数顺序与addFavorite刚好是相反的。 第二种方法: 在链接上添加rel="sidebar"属性 示例: <a href=http://www.domain.com title="名字" rel="sidebar">收藏本站</a> 注意:这里的title属性就是收藏网站页面的名称。 3、兼容Firefox和IE浏览器的方法 既然Firefox提供了两种方式,那么我们兼容Firefox和IE浏览器也可以用两种方法了。 第一种方法: 这里用了一个变通的方式来解决这个问题,代码比较清晰。这个是最好的方式了!
Firefox浏览器加入书签代码
加入收藏
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
需要注意的是,IE浏览器中域名在前,而Firefox中域名在后,最后需保留一个空字符串参数。
第二种方法:
这是最简单的一种方法,仅包含一行代码。
<a href='http://www.domain.com' onClick="javascript:window.external.AddFavorite('http://www.domain.com',' 名字');" title="名字" rel="sidebar">收藏本站</a>
兼容Firefox和IE浏览器的优化方法
但是这种方法存在一个问题,即在IE浏览器下会同时打开链接中的地址。因此我们需要进行优化!
<a href="www.domain.com/" onclick="window.external.addFavorite(this.href,this.title);return false;" title='名字' rel="sidebar">加入收藏</a>
这样处理就没有问题了,同时兼容IE6、IE7、Firefox、Opera等浏览器。
如果需要更多兼容性更好的代码,可以搜索本站以前的文章。
本站最下面的 加入收藏 设为首页功能。
设为首页 - 加入收藏
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]