一段非常简单的js判断浏览器的内核
大家应该还记得JavaScript行内样式怎么写吧?(看来我是废话了!)
在前端开发过程中,有时我们需要判断浏览器的内核前缀,对不同的浏览器做出不同的处理,因此我们可以这么做。
alert(element.style.webkitTransition); 这个是获取以webkit为前缀的transition值。但如果不是webkit为前缀的浏览器,则会返回undefined。而我们可以将所有的内核前缀给枚举出来,然后获取其某个CSS的值,即可做出判断。代码如下:
function getVendorPrefix() { // 使用body是为了避免在还需要传入元素 var body = document.body || document.documentElement, style = body.style, vendor = ['webkit', 'khtml', 'moz', 'ms', 'o'], i = 0; while (i < vendor.length) { // 此处进行判断是否有对应的内核前缀 if (typeof style[vendor[i] + 'Transition'] === 'string') { return vendor[i]; } i++; } }
然后只需要调用getVendorPrefix()即可知道浏览器的内核前缀,如果返回undefined则证明浏览器不支持CSS3属性,即没有内核前缀。
大家应该知道,我们在写代码的过程中,能写CSS就不写JavaScritp,毕竟CSS的性能会比自己写JS的高一些,因此,我们在开发一些实际应该中,会用到transition,比如一个简单的图片轮播,我们可以使用CSS3的transition,也可以使用jQuery的animate或自己写原生,但CSS3的性能肯定会高一些,因此我们可以写两套代码,对于支持CSS3的浏览器则使用animation,而不支持的则使用计时器或animate。这样的话能够获取更好的用户体验。
以上是看jquery.slides.js的插件心得,如有更好的方法,请一定告知笔者。
相关推荐
-
js/jquery判断浏览器的方法小结
JS获取浏览器信息 浏览器代码名称:navigator.appCodeName 浏览器名称:navigator.appName 浏览器版本号:navigator.appVersion 对Java的支持:navigator.javaEnabled() MIME类型(数组):navigator.mimeTypes 系统平台:navigator.platform 插件(数组):navigator.plugins 用户代理:navigator.userAgent js判断IE浏览器的四种方法: 方法一:
-
js判断横竖屏及禁止浏览器滑动条示例
复制代码 代码如下: var $horizontal = $('.horizontal_screen') ; //可自定义横屏模式提示样式 var $document = $(document) ; var preventDefault = function(e) { e.preventDefault(); }; var touchstart = function(e) { $document.on('touchstart touchmove', preventDefault); }; var
-
JS判断是否360安全浏览器极速内核的方法
本文实例讲述了JS判断是否360安全浏览器极速内核的方法.分享给大家供大家参考.具体分析如下: 360安全浏览器极速内核,在非360网站的navigator.userAgent是: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1",用的全是原生的谷歌浏览器的userAgent: 而360自己的网站的navigator.u
-
js判断浏览器版本以及浏览器内核的方法
本文实例讲述了js判断浏览器版本以及浏览器内核的方法.分享给大家供大家参考.具体实现方法如下: js判断是否移动端及浏览器内核 var browser = { versions: function() { var u = navigator.userAgent; return { trident: u.indexOf('Trident') > -1, //IE内核 presto: u.indexOf('Presto') > -1, //opera内核 webKit: u.indexOf('Ap
-
封装好的js判断操作系统与浏览器代码分享
摘要: 对于前端开发我们最重要的工作就是兼容性,系统的兼容性,浏览器的兼容性等等.今天分享一个我在项目中封装的判断操作系统与浏览器的方法. 操作系统: var os = (function() { var UserAgent = navigator.userAgent.toLowerCase(); return { isIpad : /ipad/.test(UserAgent), isIphone : /iphone os/.test(UserAgent), isAndroid : /andro
-
js监控IE火狐浏览器关闭、刷新、回退、前进事件
<html> <head> <title>test</title> <script language ="javaScript"> <!--关闭浏览器 --> var flag = true; window.onbeforeunload = function () { if (flag) { var evt = window.event || arguments[0]; var userAgent = naviga
-
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
HTML精确定位属性:scrollLeft,scrollWidth,clientWidth,offsetWidth scrollHeight: 获取对象的滚动高度.scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离scrollWidth:获取对象的滚动宽度offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度offsetLeft:获取对
-
用js判断是否为360浏览器的实现代码
以下代码在360安全浏览器5 和 6 版本中 可用 <script> var check360browser={ //如果是360 浏览器的话 "ok":function (){ //这里是判断360成功之后的代码 alert('js -> 360'); }, "try360SE":function (callback) { var ret = false, img = new Image(); img.src = 'res://360se.exe
-
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
本文是小编总结的一些核心内容,个人感觉对大家有所帮助,具体内容请看下文: 页面加载时只执行onload 页面关闭时只执行onunload 页面刷新时先执行onbeforeunload,然后onunload,最后onload. 经过验证我得出的结论是: //对于ie,谷歌,360: //页面加载时只执行onload //页面刷新时,刷新之前执行onbeforeunload事件,在新页面即将替换旧页面时onunload事件,最后onload事件. //页面关闭时,先onbeforeunload事件,
-
Js智能判断浏览器是关闭还是刷新的代码
Js智能判断浏览器是关闭还是刷新 关闭或刷新浏览器试试! window.onbeforeunload=function(){ var n=window.event.screenX-window.screenLeft; var b=n>document.documentElement.scrollWidth-20; if(b&&window.event.clientY [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
-
JS辨别访问浏览器判断是android还是ios系统
项目中需要扫描二维码之后自动分辨出是android还是ios系统,针对于不同的系统进行不同的下载. <script type="text/javascript"> /* * 智能机浏览器版本信息: * */ var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; return {//移动终端浏览器版本信息 trident: u.indexO
-
JS判断浏览器是否支持某一个CSS3属性的方法
1.引子 css3的出现让浏览器的表现更加的丰富多彩,表现冲击最大的就是动画了,在日常书写动画的时候,很有必要去事先判断浏览器是否支持,尤其是在写CSS3动画库的时候.比如transition的animation-play-state,就只有部分浏览器支持. 2.检测方法 下面的方法可以使用脚本判断浏览器是否支持某一个CSS3属性: /** * 判断浏览器是否支持某一个CSS3属性 * @param {String} 属性名称 * @return {Boolean} true/false * @
随机推荐
- GO语言实现简单TCP服务的方法
- Vue组件实例间的直接访问实现代码
- java获取当前日期和时间的二种方法分享
- 使用GDB调试PHP代码,解决PHP代码死循环问题
- C#使用PHP服务端的Web Service通信实例
- PHP实现把文本中的URL转换为链接的auolink()函数分享
- python flask 多对多表查询功能
- ASP中的面向对象类
- asp 获取参数值与sql安全过滤参数函数代码
- JavaScript的面向对象(一)
- Powershell实现按类型排序
- JavaScript自定义事件介绍
- jquery制作LED 时钟特效
- 用jquery实现学校的校历(asp.net+jquery ui 1.72)
- vue2.0中click点击当前li实现动态切换class
- JavaScript网页制作特殊效果用随机数
- 拨号一切正常 但不能上网的解决方法
- 最小树形图模板朱刘算法分享
- Android SDK Manager无法更新问题解决办法
- Python3 Random模块代码详解