如何在一页上运行多个版本的 Zepto.js? [关闭]

Posted

技术标签:

【中文标题】如何在一页上运行多个版本的 Zepto.js? [关闭]【英文标题】:How to run multiple versions of Zepto.js on one page? [closed] 【发布时间】:2013-03-14 06:15:02 【问题描述】:

谁能解释我如何以一种对新手友好的方式为 Zepto.js 制作不同的构建(为了包括触摸支持),因为我在 Internet 上的任何地方都找不到详细说明。

【问题讨论】:

github.com/madrobby/zepto#readme ? 这是运行多个实例的 jQuery 方式。由于 Zepto.js 是基于 jQuery 构建的,因此不难找到同等的解决方案:***.com/questions/528241/… @Allendar: 嗯,不是在 jQuery 上构建的,而是在 类似于 jQuery 的基础上构建的。 你把我带到了那里,谢谢你的便条 icktoofay :) 不要关闭,这是一个有用的问题。 【参考方案1】:

这应该可以工作,就像 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 默认放入 $ 一样。如果您愿意,也可以将 Zepto 最常用的版本设置为 $

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

从那时起,您需要从这些对象触发您的命令。

对于版本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 上进行了测试,结果如下:

吉什/身份证

Jeesh("#n-contents"); 40,136 | ±3.78% |慢 95%

jQuery/ID

jQuery("#n-contents"); 765,799 | ±4.36% |最快的

Zepto / ID

Zepto("#n-contents"); 348,956 | ±4.89% |慢 55%

吉什/类

Jeesh(".firstHeading"); 40,748 | ±3.96% |慢 95%

jQuery/类

jQuery(".firstHeading"); 306,591 | ±4.31% |慢 60%

Zepto / 类

Zepto(".firstHeading"); 284,822 | ±3.92% |慢 63%

【讨论】:

以上是关于如何在一页上运行多个版本的 Zepto.js? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在一页上切换多个 tabSlideOUT 选项卡

是否可以在一页上有多个 Twitter Bootstrap 轮播?

如何在一页上放置多个画布js动画。 (创建js)

Drupal 7 多个视图显示在一页上

Laravel Livewire 在一页中进行多个分页

如何在一页上添加两个谷歌图表?