当前位置: 首页 > news >正文

关于浏览器兼容处理的几种方式

1、try catch ->在try中执行我们的代码,如果在执行的过程中发生了异常信息,我们在catch中写代替的执行方案
前提:不兼容的情况下,执行对应的代码,需要发生异常错误才可以检测到
弊端:不管是否兼容,都要先执行不兼容的代码,相对来说浪费一些性能

2、利用是否为这个对象的一个属性,来检测是否兼容
例如:window.getComputedStyle,在标准浏览器中兼容,window有getComputedStyle这个属性,我们获取的属性值是一个[function];而在IE6~8中是不兼容的,window下没有getComputedStyle这个属性,我们获取的属性值是undefined;
1)第一种写法

if(typeof window.getComputedStyle==="function"){
//兼容
}else{
//不兼容
}

2)第二种写法

if(window.getComputedStyle){
//兼容
}else{
//不兼容
}

3)第三种写法(我个人比较喜欢这种,在性能上提升了那么一丢丢)

if("getComputedStyle" in window){
//兼容
}else{
//不兼容
}

3、我们已知在哪些浏览器不兼容了,那么我们只需要单独的检测浏览器类型,然后在进行特殊的处理即可

navigator.userAgent ->获取当前浏览器的版本信息

 

转载于:https://www.cnblogs.com/Scar007/p/7722877.html

相关文章:

  • sysinternals利器系列之——AccessChk
  • JS中的事件分类
  • 最NB的打字练习程序——计算机达人成长之路(39)
  • linux 上配置tomcat、mysql 开机启动
  • 在常规临床工作中生物制剂治疗银屑病的耐受性和安全性:一项103例意大利患者的研究...
  • java第八次作业:课堂上发布的前5张图片(包括匿名对象、单例模式恶汉式、自动生成对象、args[]数组使用、静态关键字)...
  • Angular4 模板式表单用法以及验证
  • vsftpd服务器安装(只限下载)
  • 通过实例模拟ASP.NET MVC的Model绑定机制:简单类型+复杂类型
  • 快照和文件备份以及文件系统的恢复
  • 三本关于机器学习和深度学习的书
  • DataGridView使用初步
  • 链式前向星
  • 只在UnitTest和WebHost中的出现的关于LogicalCallContext的严重问题
  • SQL Server 2008使用LINQ进行数据访问(转载自IT168 [ http://www.it168.com/ ])
  • SegmentFault for Android 3.0 发布
  • Angular 响应式表单之下拉框
  • Angular6错误 Service: No provider for Renderer2
  • C++11: atomic 头文件
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • ES6系统学习----从Apollo Client看解构赋值
  • Go 语言编译器的 //go: 详解
  • in typeof instanceof ===这些运算符有什么作用
  • JavaScript 奇技淫巧
  • js递归,无限分级树形折叠菜单
  • maya建模与骨骼动画快速实现人工鱼
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 创建一种深思熟虑的文化
  • 第2章 网络文档
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 记录一下第一次使用npm
  • 简单易用的leetcode开发测试工具(npm)
  • 解析 Webpack中import、require、按需加载的执行过程
  • 悄悄地说一个bug
  • 系统认识JavaScript正则表达式
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 2017年360最后一道编程题
  • 回归生活:清理微信公众号
  • 如何用纯 CSS 创作一个货车 loader
  • ​水经微图Web1.5.0版即将上线
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (翻译)terry crowley: 写给程序员
  • (四)库存超卖案例实战——优化redis分布式锁
  • (转) Android中ViewStub组件使用
  • (转)jdk与jre的区别
  • (转)ObjectiveC 深浅拷贝学习
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .CSS-hover 的解释
  • .form文件_SSM框架文件上传篇
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本