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

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

window.external.addFavorite(sURL, sTitle);

参数:

sURL:添加到收藏夹的完整网站页面地址

sTitle:添加到收藏夹中的网站页面标题名称。

示例:

<a href='#' onClick="javascript:window.external.AddFavorite('http://weste.net', '西部e网-软件教程');">加入收藏</a>

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

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

第一种方法:

window.sidebar.addPanel(sTitle, sURL, "");

参数

sURL:收藏的网站页面完整连接

sTitle:收藏网站页面的名称

示例:

<a href='#' onClick="javascript:window.sidebar.addPanel('西部e网-软件教程','http://weste.net','');">收藏本站</a>

这里要注意,addPanel函数的参数顺序与addFavorite刚好是相反的。

第二种方法:

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

示例:

<a href="http://weste.net" title="西部e网-软件教程" rel="sidebar">收藏本站</a>

注意:这里的title属性就是收藏网站页面的名称。

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

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

第一种方法:

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

<script>

function addfavorite()

{

  if (document.all)

  {

     window.external.addFavorite('http://weste.net','西部e网-软件教程');

  }

  else if (window.sidebar)

  {

     window.sidebar.addPanel('西部e网-软件教程', 'http://weste.net', "");

  }

}

</script>

<a href="#" οnclick="addfavorite()">加入收藏</a>

第二种方法:

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

<a href='http://weste.net' onClick="javascript:window.external.AddFavorite('http://weste.net','西部e网 -软件教程');" title="西部e网-软件教程" rel="sidebar">收藏本站</a>

但是这种方法有些问题,就是在IE下回同时打开链接中的地址。那么我们来优化一下!

<a href="http://weste.net/" οnclick="window.external.addFavorite(this.href,this.title);return false;" title='西部e网-软件教程' rel="sidebar">加入收藏</a>

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


如果上面的也不起作用的话就用下面的方法


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <meta charset="utf-8">
    <script type="text/javascript">

    </script>
</head>

<body>

内容:<input type="text" id="url">
<button οnclick="isURL()">测试</button>

<script>

    function addfavorite(url, title)

    {

        try {
            window.external.addFavorite(url, title);
        }
        catch (e) {
            try {
                window.sidebar.addPanel(title, url, "");
            }
            catch (e) {
                alert("抱歉,您所使用的浏览器无法完成此操作。\n\n加入收藏失败,请进使用Ctrl+D进行添加");
            }
        }

    }

</script>

<a href="#" οnclick="addfavorite('http://www.baidu.com', '百度')">加入收藏</a>
</body>

</html>