基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏


Posted in Javascript onJanuary 07, 2016

现在的浏览器越来越多,这就使得网页设计的兼容性要求越来越高,像常用的设为首页、加入收藏代码,一般的虽然简洁,但兼容性却非常不好,加入收藏和设为首页代码几乎各个网站都在头部放上一个,有没有效果先不管,需求应该是有的。

但是由于浏览器的兼容性问题,之前用的很多代码都失去效果,下面就给出一段能够兼容各个浏览器的代码,也不能够算是兼容,只能说在不支持的浏览器中能够给出提示,代码如下:

<!doctype html>
<html>
<head>
<title>加入收藏和设为首页</title>
<script type="text/javascript">
//加入收藏
function AddFavorite(sURL, sTitle){
sURL = encodeURI(sURL); 
try{ 
window.external.addFavorite(sURL, sTitle); 
}
catch(e){ 
try{ 
window.sidebar.addPanel(sTitle, sURL, ""); 
}
catch(e){ 
alert("加入收藏失败,请使用Ctrl+D进行添加,或手动在浏览器里进行设置.");
} 
}
}
//设为首页
function SetHome(url){
if (document.all){
document.body.style.behavior='url(#default#homepage)';
document.body.setHomePage(url);
}
else{
alert("您好,您的浏览器不支持自动设置页面为首页功能,请您手动在浏览器里设置该页面为首页!");
}
} 
</script>
</head>
<body>
<a href="javascript:void(0)">设为首页</a>
<a href="javascript:void(0)">加入收藏</a>
</body>
</html>

以上代码简短易懂,可以兼容各个浏览器加入收藏和设为首页,有问题欢迎提出,小编会及时和大家联系的,谢谢!

下面给大家分享一段jquery代码实现加入收藏夹功能

//设为首页
function SetHomePage() {
  if (document.all) {
    document.body.style.behavior = 'url(#default#homepage)';
    document.body.setHomePage('http://www.87cool.com');
  }
  else if (window.sidebar) {
    if (window.netscape) {
      try {
        netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
      }
      catch (e) {
        alert("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true");
      }
    }
    var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
    prefs.setCharPref('browser.startup.homepage', 'http://www.87cool.com');
  }
}
//加入收藏夹
function AddFavorite() {
  var title = document.title;
  var url = location.href;
  if (window.sidebar) {
    window.sidebar.addPanel(title, url, "");
  } else if (document.all) {
    window.external.AddFavorite(url, title);
  } else {
    return true;
  }
}
Javascript 相关文章推荐
JavaScript OOP类与继承
Nov 15 Javascript
Javascript 构造函数,公有,私有特权和静态成员定义方法
Nov 30 Javascript
jquery蒙版控件实现代码
Dec 08 Javascript
浅析node.js中close事件
Nov 26 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
Aug 02 Javascript
JS常用知识点整理
Jan 21 Javascript
bootstrap可编辑下拉框jquery.editable-select
Oct 12 jQuery
bootstrap table sum总数量统计实现方法
Oct 29 Javascript
webpack中使用iconfont字体图标的方法
Feb 22 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
Sep 02 Javascript
jQuery 动态粒子效果示例代码
Jul 07 jQuery
解决Vue中的生命周期beforeDestory不触发的问题
Jul 21 Javascript
JavaScript设计模式初探
Jan 07 #Javascript
JavaScript类型系统之Object详解
Jan 07 #Javascript
7个去伪存真的JavaScript面试题
Jan 07 #Javascript
jQuery表格插件datatables用法详解
Nov 23 #Javascript
详解JavaScript UTC时间转换方法
Jan 07 #Javascript
jQuery formValidator表单验证
Jan 07 #Javascript
JavaScript中的原始值和复杂值
Jan 07 #Javascript
You might like
php adodb连接不同数据库
2009/03/19 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
php基于CodeIgniter实现图片上传、剪切功能
2016/05/14 PHP
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
Vue 中使用 CSS Modules优雅方法
2018/04/09 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
[02:34]肉山说——泡妞篇
2014/09/16 DOTA
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
python导出chrome书签到markdown文件的实例代码
2017/12/27 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
python读取Excel表格文件的方法
2019/09/02 Python
django 多对多表的创建和插入代码实现
2019/09/09 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
浅谈python出错时traceback的解读
2020/07/15 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
2020/09/03 Python
Skyscanner香港:机票比价, 平机票和廉价航空机票预订
2020/02/07 全球购物
C#面试问题
2016/07/29 面试题
农业资源与环境专业自荐信范文
2013/12/30 职场文书
股东合作协议书范本
2014/04/14 职场文书
村抢险救灾方案
2014/05/09 职场文书
2014幼儿园小班工作总结
2014/11/10 职场文书
项目验收申请报告
2015/05/15 职场文书
乡镇党建工作总结2015
2015/05/19 职场文书
孔子观后感
2015/06/08 职场文书
如何写通讯稿
2015/07/22 职场文书
python Polars库的使用简介
2021/04/21 Python
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers