【发布时间】:2020-04-05 01:46:10
【问题描述】:
注意:这是一个不同的问题,不同于两个不同版本的 jQuery(这里提到的内容:Can I use multiple versions of jQuery on the same page?)。不同之处在于它们是 相同 版本号但包含由 外部 源加载的不同包含库的 jQuery 的两个副本,这意味着使用 jquery 调用的两个不同版本的正常解决方案 不起作用。
我在同一个网站上有两个不同的 jquery 变体,由不同的来源加载。
一,单路跑的时候,我跑的时候console.log(jQuery.fn.jquery);:
3.4.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector
另一条路径返回
3.4.1
但是,两者都在系统上,路径主要影响加载顺序。更糟糕的是,以前的超薄版本似乎是加载时的默认值,并且加载到我的应用程序外部。
所以问题是......一个缺少 ajax,另一个没有,并且通过一种方式,ajax 版本不起作用,因为 jquery 认为没有这样的功能。我如何告诉它检查 other jquery 文件?
【问题讨论】:
-
如果有需要非slim版本的情况,为什么不直接使用non-slim版本?
-
因为从我的应用程序外部加载的内容覆盖了我在内部加载的任何内容。
-
那么你可以尝试jQuery noConflict 恢复到以前的jQuery 版本,前提是在slim 版本之前包含了带有ajax 的版本。
-
如果它们都运行而没有冲突,那么第二个会覆盖第一个,那么你就不走运了。
-
@Taplar 所以你是说在内部加载一个新的,在那个上做noConflict,然后在那个上使用唯一的调用?问题在于它不是一个新的应用程序,只是一个应用程序的新实现。这需要重写数十年的代码。
标签: javascript jquery ajax multiple-versions