javascript: 加入收藏 设为首页 功能 兼容Firefox和IE

24 篇文章 0 订阅
17 篇文章 0 订阅

加入收藏:

οnclick="window.external.addFavorite(document.location.href,document.title)"

设为首页:

οnclick="try{this.style.behavior='url(#default#homepage)';this.setHomePage(document.location.href);return(false);}catch(e){}";


最近改用Firefox后,发现很多网站的“加入收藏”链接点击无效了,后来发现原来是IE浏览器和Firefox浏览器的“加入收藏夹”的写法是不同的。

1、IE浏览器加入收藏夹的代码

window.external.addFavorite(sURL, sTitle);
参数:
sURL:添加到收藏夹的完整网站页面地址
sTitle:添加到收藏夹中的网站页面标题名称。

示例:
<a href='#' onClick="javascript:window.external.AddFavorite(this.href,this.title);">加入收藏</a>


2、Firefox浏览器加入收藏夹的代码

Firefox中叫做加入书签(收藏夹),代码有两种方式,一种同IE浏览器的方法类似,只不过是window.external.AddFavorite换成了sidebar.addPanel,另外一种却十分简单,只需要加一个参数就可以了。

第一种方法:

window.sidebar.addPanel(sTitle, sURL, "");
参数
sURL:收藏的网站页面完整连接
sTitle:收藏网站页面的名称 

示例:
<a href='#' onClick="javascript:window.sidebar.addPanel(this.title,this.href,'');">收藏本站</a>
这里要注意,addPanel函数的参数顺序与addFavorite刚好是相反的。

第二种方法:

在链接上添加rel="sidebar"属性

示例:
<a href="http://www.csdn.net" title="我的标题" rel="sidebar">收藏本站</a>
注意:这里的title属性就是收藏网站页面的名称。

3、兼容Firefox和IE浏览器的方法

既然Firefox提供了两种方式,那么我们兼容Firefox和IE浏览器也可以用两种方法了。

第一种方法:

这里用了一个变通的方式来解决这个问题,代码比较清晰。这个是最好的方式了!

<script>
function addfavorite()
{
   if (document.all)
   {
      window.external.addFavorite(this.href,this.title);
   }
   else if (window.sidebar)
   {
      window.sidebar.addPanel(this.title, this.href,  "");
   }
}
</script>
<a href="#" οnclick="addfavorite()">加入收藏</a>

第二种方法:

这个是最简单的一个方法了,只有一句话。

<a href='http://www.csdn.net' onClick="javascript:window.external.AddFavorite(this.href,this.title);" title="我的标题" rel="sidebar">收藏本站</a>
但是这种方法有些问题,就是在IE下回同时打开链接中的地址。那么我们来优化一下!

<a href="http://www.csdn.net" οnclick="window.external.addFavorite(this.href,this.title);return false;"title='我的标题' rel="sidebar">加入收藏</a>

这样就没问题啦,哈哈!同时兼容IE6、IE7、Firefox、Opera等浏览器。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值