对于不受支持的浏览器使用 Zepto 并回退到 jQuery 是一种将移动设备的 JS 大小减少几 Kbs 的好方法。但是,当前的“推荐”条件负载测试:
<script>document.write('<script src=' + ('__proto__' in {} ? 'zepto' : 'jquery') + '.js <\/script>')</script>
是一种非常不可靠的方式来决定是否加载 Zepto 或 jQuery。许多不受支持的浏览器(包括较旧的移动浏览器)将通过此测试,但在运行 Zepto 时会出现问题。
是否有更可靠的方法(最好使用特征检测而不是设备/浏览器嗅探)可以准确覆盖更大比例的浏览器?误报(即加载 jQuery 而不是 Zepto,即使 Zepto 确实可以工作)肯定比误报好。