zoukankan      html  css  js  c++  java
  • 加入收藏兼容ie和火狐

    最近改用Firefox后,发现很多网站的“加入收藏”链接点击无效了,后来发现原来是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="#" onclick="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/" onclick="window.external.addFavorite(this.href,this.title);return false;" title='西部e网-软件教程' rel="sidebar">加入收藏</a>

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

  • 相关阅读:
    Linux基础知识
    redis info
    记录: 解决 pycurl: libcurl link-time ssl backend (openssl) is different from compile-time ssl backend (none/other)
    IOS IAP 自动续订 之 利用rabbitmq延时队列自动轮询检查是否续订成功
    Python3.6 的字典为什么会快
    IAP 订阅后端踩坑总结之 Google 篇
    docker 命令合集
    Python Schema使用说明
    Apache Bench测试
    channels2.X 学习笔记
  • 原文地址:https://www.cnblogs.com/yuwensong/p/2966294.html
Copyright © 2011-2022 走看看