我正在为我的Web应用程序使用ZeptoJS,但是如果浏览器不支持Zepto,我想回退到jQuery。由于IE是目前不支持的唯一主要浏览器,因此我很想检测IE:

if(navigator.appName == 'Microsoft Internet Explorer'){
    // load jquery
} else {
    // load zepto
}

但是我更愿意具体检测Zepto支持并在其他情况下使用jQuery。有没有一种功能检测方法可以做到这一点?

最佳答案

这可能是个疯狂的主意(我不确定Zepto是否会在不受支持的浏览器上加载),但是如何使用Zepto自己的浏览器检测来查看是否在不受支持的浏览器上呢?

$.os.ios      // => true if running on Apple iOS
$.os.android  // => true if running on Android
$.os.webos    // => true if running on HP/Palm WebOS
$.os.touchpad // => true if running on a HP TouchPad
$.os.version  // => string with version number, "4.0", "3.1.1", "2.1", etc.
$.os.iphone   // => true if running on iPhone
$.os.ipad     // => true if running on iPad
$.os.blackberry // => true if running on BlackBerry

也许您可以执行以下操作:
var isSupported = false;
for (os in $.os) {
    if ($.os[os] == true) { isSupported = true; }
}

这不会捕获chrome/firefox,它在Zepto上可以正常工作,但是确实与Zepto团队的意图相符,这可能会更好,也可能不会更好。

关于javascript - Zepto回退到jQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8725905/

10-09 15:06