jquery – 如何测试移动webkit

我正在寻求建立一个新的网站,并希望采取负责任的“移动优先”的方法.这种方法一个原则是只加载你需要的东西,并避免包含大量浪费的库和框架,直到你真正需要它们为止.

为此,我打算使用modernizr2来测试功能,然后只加载所需的文件和库.

在javascript方面,我真的很感兴趣使用类似zepto.js(http://zeptojs.com/)的东西,这是一个微小的javascript库(2-5k),针对移动webkit(和单独的移动webkit)进行了优化,同时保持了jquery兼容语法.它也被设计为具有全开jquery的“热插拔”.所以我的策略是(伪代码):

>测试移动webkit
>如果(true)加载zepto.js
> if(false)加载jquery

但现在我的问题是:你们建议用什么(未来证明)技术来检测移动webkit,最好是以纯粹的javascript方式(不使用jquery,插件或其他库)并且可以与modernizr’s testing API集成?

解决方法

好吧,所以我猜我的问题措辞不好或者其他什么东西,但是有点挖掘,我找到了一个可以接受的解决方案,与我的用例一起使用.
// Webkit detection script
Modernizr.addTest('webkit',function(){
return RegExp(" AppleWebKit/").test(navigator.userAgent);
});

// Mobile Webkit
Modernizr.addTest('mobile',function(){
return RegExp(" Mobile/").test(navigator.userAgent);
});

这两个测试会将’webkit’和’mobile’类添加到你的html标签(或’no-webkit’和’no-mobile’,如果为false),但也允许你有条件地加载你喜欢的javascript库,具体取决于情况.

在我的情况下,要么在JQuery或Zepto.js之间切换:

Modernizr.load([
            // test mobile webkit (zepto or jquery?)
            {
                test: Modernizr.webkit && Modernizr.mobile,nope: ['//ajax.googleapis.com/ajax/libs/jquery/1/jquery.js'],yep: [baseURL + 'js/lib/zepto.min.js']
            }]);

因此,当我检测到访问者正在使用移动webkit浏览器(可能就像100%的iOS或Android设备那样)时,我可以节省大量开销,并在必要时为其他人加载常规JQuery.由于语法非常相似,无论最终加载哪个框架,插件和其他脚本都可能仍然有效.

相关文章

jQuery表单验证提交:前台验证一(图文+视频)
jQuery表单验证提交:前台验证二(图文+视频)
jQuery如何实时监听获取input输入框的值
JQuery怎么判断元素是否存在
jQuery如何实现定时重定向
jquery如何获取复选框选中的值