2013-03-24 47 views
4

有人可以请我解释一下,我怎样才能以noob友好的方式为Zepto.js(为了包括触摸支持)做出不同的构建,因为我无法在Internet上的任何地方找到详细的说明。如何在一个页面上运行Zepto.js的多个版本?

+0

https://github.com/madrobby/zepto#readme? – Quentin 2013-03-24 20:09:03

+0

这是运行多个实例的jQuery方式。由于Zepto.js基于jQuery构建,因此不应该很难找到相同的解决方案:http://stackoverflow.com/questions/528241/how-do-i-run-different-versions-of-jquery-on-相同页面 – 2013-03-24 20:10:51

+0

@Allendar:没有构建* on * jQuery,但构建*与* jQuery相似。 – icktoofay 2013-03-24 20:30:28

回答

5

这应该工作,只是像jQuery做的:

<script src="zepto1.0.js"></script> 
<script> 
    var zep10 = window.Zepto; 
</script> 

<script src="zepto0.8.js"></script> 
<script> 
    var zep08 = window.Zepto; 
</script> 

的Zepto并不需要进行 “编译”。它只需要放入一个变量,如jQuery和MooTools默认进入$

<script src="zepto1.0.js"></script> 
<script> 
    var $ = window.Zepto; 
</script> 

关,当然,你需要从这些对象从此触发你的命令:如果你喜欢,你可以设置的Zepto最常用的版本为$了。

对于版本1.0您只需使用正常的$.()操作。但对于0.8版本,您将使用zep08.()来调用操作。

注意

从网页的Zepto(http://zeptojs.com):

的Zepto将只设置$全局本身如果没有定义。没有Zepto.noConflict方法。

所以,如果你已经加载的jQuery或MooTools的,它不会打破$结合,只要你有这些库加载的Zepto不前。否则,你仍然会被覆盖。

测试

还检查了这一点:http://jsperf.com/qwery-vs-jquery-vs-mootools-selector-engines/11。在Chrome和Safari上,jQuery赢得了Zepto的巨大成功。所以你可能会对Zepto有更轻的“初始负载”,但看起来jQuery赢得了性能方面的胜利。

我上Safari 6.0.3 on Mac OS X 10.8.3与这些结果进行测试:

杰什/ ID

  • 杰什( “#N-内容”);
  • 40,136 | ±3.78%| 95%较慢

的jQuery/ID

  • jQuery的( “#N-内容”);
  • 765,799 | ±4.36%|最快

的Zepto/ID

  • 的Zepto( “#N-内容”);
  • 348,956 | ±4。89%| 55%较慢

杰什/类

  • 杰什( “firstHeading。”);
  • 40,748 | ±3.96%|慢95%

的jQuery /类

  • jQuery的( “firstHeading。”);
  • 306,591 | ±4.31%|慢60%

的Zepto /类

  • 的Zepto( “firstHeading。”);
  • 284,822 | ±3.92%| 63%慢
相关问题