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

所属分类: 网络编程 / JavaScript 阅读数: 1297
收藏 0 赞 0 分享

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

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

<!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 this关键字指向常用情况解析

这篇文章主要介绍了JavaScript this关键字指向常用情况解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Vue-cli打包后如何本地查看的操作

这篇文章主要介绍了Vue-cli打包后如何本地查看的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue cli 3.0通用打包配置代码,不分一二级目录

这篇文章主要介绍了vue cli 3.0通用打包配置代码,不分一二级目录,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JavaScript事件循环及宏任务微任务原理解析

这篇文章主要介绍了JavaScript事件循环及宏任务微任务原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

关于vue-cli3打包代码后白屏的解决方案

这篇文章主要介绍了关于vue-cli3打包代码后白屏的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue打包静态资源后显示空白及static文件路径报错的解决

这篇文章主要介绍了vue打包静态资源后显示空白及static文件路径报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue-cli3访问public文件夹静态资源报错的解决方式

这篇文章主要介绍了vue-cli3访问public文件夹静态资源报错的解决方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

JS继承实现方法及优缺点详解

这篇文章主要介绍了JS继承实现方法及优缺点详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vue或react项目生产环境去掉console.log的操作

这篇文章主要介绍了vue或react项目生产环境去掉console.log的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题

这篇文章主要介绍了解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多