其实:
zepto有自身的函数接口去判断设备和浏览器
我拿iOS模拟器跑测试:
//Zepto.os 查看设备 Zepto.os返回一个对象: { ios:true, iphone:true, version:"6.1" } //Zepto.browser 查看浏览器 Zepto.browser返回一个对象: { version:"536.26" webkit:true }
源码来自:detect.js
;(function($){ //创建一个detect函数,参数为ua function detect(ua){ //this为Zepto,给它绑两个属性:一个os,一个browser var os = this.os = {}, browser = this.browser = {}, webkit = ua.match(/WebKit\/([\d.]+)/), android = ua.match(/(Android)\s+([\d.]+)/), ipad = ua.match(/(iPad).*OS\s([\d_]+)/), iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/), webos = ua.match(/(webOS|hpwOS)[\s\/]([\d.]+)/), touchpad = webos && ua.match(/TouchPad/), kindle = ua.match(/Kindle\/([\d.]+)/), silk = ua.match(/Silk\/([\d._]+)/), blackberry = ua.match(/(BlackBerry).*Version\/([\d.]+)/), bb10 = ua.match(/(BB10).*Version\/([\d.]+)/), rimtabletos = ua.match(/(RIM\sTablet\sOS)\s([\d.]+)/), playbook = ua.match(/PlayBook/), chrome = ua.match(/Chrome\/([\d.]+)/) || ua.match(/CriOS\/([\d.]+)/), //比如火狐19,这边firefox是一个数组:["Firefox/19.0","19.0"]; firefox = ua.match(/Firefox\/([\d.]+)/) // Todo: clean this up with a better OS/browser seperation: // - discern (more) between multiple browsers on android // - decide if kindle fire in silk mode is android or not // - Firefox on Android doesn't specify the Android version // - possibly devide in os, device and browser hashes if (browser.webkit = !!webkit) browser.version = webkit[1] if (android) os.android = true, os.version = android[2] if (iphone) os.ios = os.iphone = true, os.version = iphone[2].replace(/_/g, '.') if (ipad) os.ios = os.ipad = true, os.version = ipad[2].replace(/_/g, '.') if (webos) os.webos = true, os.version = webos[2] if (touchpad) os.touchpad = true if (blackberry) os.blackberry = true, os.version = blackberry[2] if (bb10) os.bb10 = true, os.version = bb10[2] if (rimtabletos) os.rimtabletos = true, os.version = rimtabletos[2] if (playbook) browser.playbook = true if (kindle) os.kindle = true, os.version = kindle[1] if (silk) browser.silk = true, browser.version = silk[1] if (!silk && os.android && ua.match(/Kindle Fire/)) browser.silk = true //如果chrome有值的话,给browser装两个属性firefix和version if (chrome) browser.chrome = true, browser.version = chrome[1] //如果firefox有值的话,给browser装两个属性firefix和version if (firefox) browser.firefox = true, browser.version = firefox[1] //os必有一个属性tablet来标示是否是平板 os.tablet = !!(ipad || playbook || (android && !ua.match(/Mobile/)) || (firefox && ua.match(/Tablet/))) //os必有一个属性phone来标示是否是手机,但是有问题:如果是pc的火狐,返回的居然也是true(当然它本身针对移动端的,呵呵,忽略忽略) os.phone = !!(!os.tablet && (android || iphone || webos || blackberry || bb10 || chrome || firefox)) } //调用detect方法,把navigator.userAgent当参数传入 detect.call($, navigator.userAgent); // make available to unit tests //给Zepto绑上一个key为__detect对应的是detect这个function $.__detect = detect })(Zepto)
相关推荐
让jquery validation plugin 支持zepto
### Zepto.js中文手册知识点详解 #### 一、概述 Zepto.js是一个轻量级的JavaScript库,旨在为移动Web开发提供与jQuery类似的API。它体积小、性能高且易于使用,非常适合移动设备上的Web应用开发。Zepto.js支持大...
Zepto是一个轻量级的针对现代高级浏览器的JavaScript库, 它与jquery有着类似的api。 如果你会用jquery,那么你也会用zepto。touch库实现'swipe', 'swipeLeft', 'swipeRight', 'swipeUp', 'swipeDown', 'doubleTap',...
标题提到的"Zepto集成touch版本"指的是 Zepto 的一个扩展,专门针对触摸事件和手势处理进行了优化,使其更适合在触屏设备如智能手机和平板电脑上使用。这个集成版本包含了更多的功能,比官方提供的基础7个组件更加...
《 Mobiscroll 与 Zepto 的日期选择器集成详解》 在移动开发中,提供一个易用、高效的日期选择器是至关重要的。Mobiscroll 是一款知名的触摸优化的滚动库,特别适合在移动设备上创建日历、时钟和滑动选择器。而 ...
zepto.js是一个轻量级的JavaScript库,专为移动设备的Web开发设计,尤其是针对触摸屏设备。它提供了类似于jQuery的API,使开发者能够轻松地处理DOM操作、事件处理、动画效果以及Ajax交互。在标题提到的"zepto包含...
标题“zepto:node了一个”暗示我们即将探讨的是一个与Node.js环境相关的项目,其中使用了Zepto库。Zepto是一个轻量级的JavaScript库,它为浏览器环境提供了类似于jQuery的功能,但体积更小,更适合移动端的Web应用...
zepto.js是一款轻量级的JavaScript库,专为移动设备的浏览器设计,特别是针对iOS和Android等触屏设备。它提供了与jQuery相似的功能,但体积更小,加载速度更快,适合移动环境。Zepto.js的核心目标是实现一个适用于...
Zepto是一个轻量级的JavaScript库,专门为移动设备设计,特别是在iOS和Android平台上。它旨在为移动Web开发提供类似于jQuery的API,使开发者能够轻松地处理DOM操作、事件处理、动画效果以及Ajax交互。在移动端,...
zepto.js是一款专门为移动Web开发设计的轻量级JavaScript库,它的目标是成为jQuery在移动端的替代品。鉴于jQuery在桌面浏览器上的强大功能,zepto.js在保持相似API的同时,专注于移动设备的需求,以较小的体积提供...
本资源“zepto手机移动端弹出提示框图标动画特效”正是一款专注于这一领域的优秀解决方案。Zepto是一个轻量级的JavaScript库,专为移动端浏览器设计,它提供了与jQuery相似的API,但在移动端具有更快的性能。 首先...
在IT行业中,JavaScript库Zepto是为移动端浏览器设计的一个轻量级替代库,与jQuery有很高的API兼容性。本文将深入探讨"zepto-cookie-master"这个项目,它是一个专门用于处理Cookie操作的Zepto插件。 Cookie是Web...
3. **社区支持**:Zepto.js有活跃的社区和丰富的插件库,可以扩展其功能,如zepto.form插件用于处理表单提交,zepto.swipe用于滑动事件等。 4. **调试与优化**:在开发过程中,使用开发者工具检查性能瓶颈,适时...
zepto.js 是一个轻量级的JavaScript库,主要针对移动设备和现代浏览器,它提供了类似于jQuery的核心功能,包括选择器、DOM操作、事件处理、动画效果以及Ajax等。这个压缩包包含了一份Zepto中文API的离线文档,方便...
zepto-page-transitions是一个基于Zepto.js库的页面切换控件,它旨在为移动Web应用提供类似jQuery Mobile的页面滑动效果。Zepto.js是一个轻量级的JavaScript库,主要针对现代浏览器,尤其是移动设备,提供了与jQuery...
zepto.js是一个轻量级的JavaScript库,专为移动设备的Web开发设计,尤其是在iOS和Android平台上。它模仿了jQuery的API,使得开发者在移动端也能享受类似jQuery的开发体验。Zepto的核心目标是保持小巧的体积,同时...
zepto.js 这个可以用tap事件
zepto API文档是一个重要的资源,尤其对于前端开发者来说,它提供了关于Zepto.js库的详尽信息。Zepto.js是一个轻量级的JavaScript库,设计用于移动设备的高性能Web开发,尤其是在iOS和Android上。它与jQuery有很高的...
zepto.js是一个轻量级的JavaScript库,专为移动设备的浏览器设计,特别是针对iOS和Android平台。它在设计上模仿了jQuery的API,提供了一系列用于处理DOM操作、事件、动画以及Ajax请求的方法,但体积更小,更适合...
标题"jquery validation 支持zepto第二版"指的是将jQuery Validation插件与Zepto.js兼容,以便在使用Zepto的项目中实现表单验证功能。这通常涉及到对原有jQuery Validation代码的适配和修改,以使其能够在Zepto环境...