基于JavaScript实现浏览器添加收藏功能

 更新时间:2023年02月17日 11:47:20   作者:米斯特王L  
今天搞项目的时候为了实现浏览者实现添加收藏的功能,特地了解了一下相关的API,整理了一段代码帮助大家实现浏览器添加收藏功能,感兴趣的朋友跟随小编一起看看吧

js实现浏览器添加收藏功能

今天搞项目的时候为了实现浏览者实现添加收藏的功能,特地了解了一下相关的API.

也看到了网上各种版本的代码。整理了一下,代码如下。简单易懂。

<script>
  function _addFavorite() {
      var url = window.location;
      var title = document.title;
      var ua = navigator.userAgent.toLowerCase();
      if (ua.indexOf("360se") > -1) {
          alert("由于360浏览器功能限制,请按 Ctrl+D 手动收藏!");
      }
      else if (ua.indexOf("msie 8") > -1) {
          window.external.AddToFavoritesBar(url, title); //IE8
      }
      else if (document.all) {//IE类浏览器
        try{
         window.external.addFavorite(url, title);
        }catch(e){
         alert('您的浏览器不支持,请按 Ctrl+D 手动收藏!');
        }
      }
      else if (window.sidebar) {//firfox等浏览器;
          window.sidebar.addPanel(title, url, "");
      }
      else {
          alert('您的浏览器不支持,请按 Ctrl+D 手动收藏!');
      }
  }    
  </script>  <a href="javascript:void(0)" rel="external nofollow"  onclick="_addFavorite()">加入收藏</a>

扩展:javascript实现网站加入收藏功能

本文为大家分享了三段javascript实现网站加入收藏功能的代码,具体内容如下

第一种情况:可兼容所有浏览器的加入收藏代码,原理:

根据获取用户navigator.userAgent.toLowerCase()信息来判断浏览器,根据浏览器是否支持加入收藏js命令,如果可以自动收藏否则就提示ctrl+D手动收藏了。
代码如下:

function addFavorite2() {
var url = window.location;
var title = document.title;
var ua = navigator.userAgent.toLowerCase();
if (ua.indexOf("360se") > -1) {
alert("由于360浏览器功能限制,请按 Ctrl+D 手动收藏!");
}
else if (ua.indexOf("msie 8") > -1) {
window.external.AddToFavoritesBar(url, title); //IE8
}
else if (document.all) {
try{
window.external.addFavorite(url, title);
}catch(e){
alert('您的浏览器不支持,请按 Ctrl+D 手动收藏!');
}
}
else if (window.sidebar) {
window.sidebar.addPanel(title, url, "");
}
else {
alert('您的浏览器不支持,请按 Ctrl+D 手动收藏!');
}
}

复制代码保存成js文件,然后在要收藏的地方加上
代码如下

代码如下:

<a href=# onclick="javascript:addFavorite2()">加入收藏</a>

第二种情况:js代码实现设为首页并加入收藏

// JavaScript Document
// 加入收藏 <a onclick="AddFavorite(window.location,document.title)">加入收藏</a>
 
function AddFavorite(sURL, sTitle)
{
  try
  {
    window.external.addFavorite(sURL, sTitle);
  }
  catch (e)
  {
    try
    {
      window.sidebar.addPanel(sTitle, sURL, "");
    }
    catch (e)
    {
      alert("加入收藏失败,请使用Ctrl+D进行添加");
    }
  }
}
//设为首页 <a onclick="SetHome(this,window.location)">设为首页</a>
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);
         }
    }
}

使用

  • <a href="#" onclick="SetHome(this,window.location)" >设为首页</a>
  • <a href="#" onclick="AddFavorite(window.location,document.title)" >收藏本站</a>

第三种情况:js添加收藏代码

很多网站为了聚集用户和维持流量都有"设为首页","添加收藏"等按钮,js添加收藏代码如下:

<script>
function addfavorite()
{
  if (document.all)
  {
   window.external.addFavorite('//www.jb51.net','我们');
  }
  else if (window.sidebar)
  {
   window.sidebar.addPanel('我们', '//www.jb51.net', "");
  }
}
</script>
<body>
<a href="#" rel="external nofollow"  onclick="addfavorite()">加入收藏!</a>

结果测试:该代码对IE6+,和FireFox均有效,Chrome无效!

到此这篇关于js实现浏览器添加收藏功能的文章就介绍到这了,更多相关js浏览器加入收藏内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • js播放wav文件(源码)

    js播放wav文件(源码)

    如何用JS播放wav文件,理论上用js在网页里嵌入一个window播放器的插件,可以播放的。,不过通用性不是很好,IE下可以用,感兴趣的朋友可以参考下哈本文
    2013-04-04
  • JS实现模态框拖拽动态效果

    JS实现模态框拖拽动态效果

    这篇文章主要为大家详细介绍了JS实现模态框拖拽动态效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 重写javascript中window.confirm的行为

    重写javascript中window.confirm的行为

    javascript中window.confirm这个方法很好用,可以弹出一个确认对话框.但有一个问题是,它默认的情况下,将选中那个"确定"按钮,当用户有意无意的在键盘回车,就是说按下Enter键的时候,就会自动返回true。在很多时候其实我们不希望这样
    2012-10-10
  • JS判断当前是否平板安卓并是否支持cordova方法的示例代码

    JS判断当前是否平板安卓并是否支持cordova方法的示例代码

    这篇文章主要介绍了JS判断当前是否平板安卓并是否支持cordova方法,pc和安卓平板共用一套代码,平板的代码用了cordova做了一个壳子嵌套如果用了cordova就不支持elementUI中的上传功能,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • FF IE浏览器修改标签透明度的方法

    FF IE浏览器修改标签透明度的方法

    本文为大家介绍下FF IE浏览器修改标签透明度的方法,需要的朋友可以参考下
    2014-01-01
  • setTimeout在类中使用的问题!

    setTimeout在类中使用的问题!

    setTimeout在类中使用的问题!...
    2007-04-04
  • JavaScript Cookie的读取和写入函数

    JavaScript Cookie的读取和写入函数

    Cookie的读取和写入实现函数。
    2009-12-12
  • Javascript里使用Dom操作Xml

    Javascript里使用Dom操作Xml

    Javascript里使用Dom操作Xml...
    2006-09-09
  • 详解微信小程序工程化探索之webpack实战

    详解微信小程序工程化探索之webpack实战

    这篇文章主要介绍了详解微信小程序工程化探索之webpack实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Webpack打包慢问题的完美解决方法

    Webpack打包慢问题的完美解决方法

    这篇文章主要给大家介绍了关于Webpack打包慢问题的完美解决方法,文中通过示例代码介绍的非常详细,相信对大家的学习或者工作能带来一定的帮助,需要的朋友们下面来一起看看吧。
    2017-03-03

最新评论