2013-03-24 73 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%慢
相關問題