javascript实现网站加入收藏功能


Posted in Javascript onDecember 16, 2015

本文为大家分享了三段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('https://3water.com','三水点靠木');
  }
  else if (window.sidebar)
  {
   window.sidebar.addPanel('三水点靠木', 'https://3water.com', "");
  }
} 
</script>
<body>
<a href="#" onclick="addfavorite()">加入收藏!</a>

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

以上就是js代码实现设为首页并加入收藏功能,希望大家喜欢。

Javascript 相关文章推荐
javascript编程起步(第七课)
Jan 10 Javascript
javascript 自定义事件初探
Aug 21 Javascript
基于Jquery实现的一个图片滚动切换
Jun 21 Javascript
浅析js中取绝对值的2种方法
Jul 09 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
Mar 25 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
Sep 05 Javascript
Vue.js表单控件实践
Oct 27 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
Aug 08 jQuery
在Bootstrap开发框架中使用dataTable直接录入表格行数据的方法
Oct 25 Javascript
浅析vue-router中params和query的区别
Dec 24 Javascript
JavaScript队列结构Queue实现过程解析
Mar 07 Javascript
VueCli4项目配置反向代理proxy的方法步骤
May 17 Javascript
javascript实现无缝上下滚动特效
Dec 16 #Javascript
js实现将选中内容分享到新浪或腾讯微博
Dec 16 #Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
Dec 16 #Javascript
Sublime Text 3常用插件及安装方法
Dec 16 #Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
Dec 16 #Javascript
基于JavaScript获取鼠标位置的各种方法
Dec 16 #Javascript
javascript基于prototype实现类似OOP继承的方法
Dec 16 #Javascript
You might like
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
php生成gif动画的方法
2015/11/05 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
jquery实现标签支持图文排列带上下箭头按钮的选项卡
2015/03/14 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
微信小程序 checkbox使用实例解析
2019/09/09 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
简单了解Django模板的使用
2017/12/20 Python
Python迭代器和生成器定义与用法示例
2018/02/10 Python
基于python3实现socket文件传输和校验
2018/07/28 Python
pandas中的series数据类型详解
2019/07/06 Python
opencv 形态学变换(开运算,闭运算,梯度运算)
2020/07/07 Python
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
什么是三层交换,说说和路由的区别在那里
2014/09/01 面试题
外国语学院毕业生自荐信
2013/10/28 职场文书
护理职业生涯规划书
2014/01/24 职场文书
奠基仪式主持词
2014/03/20 职场文书
绿色学校实施方案
2014/03/31 职场文书
行政内勤岗位职责
2014/04/07 职场文书
大学社团计划书
2014/05/01 职场文书
党日活动总结
2014/05/07 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
公务员处分决定书
2015/06/25 职场文书
工作简报格式范文
2015/07/21 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python
Python源码解析之List
2021/05/21 Python
python通过函数名调用函数的几种方法总结
2021/06/07 Python
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA