【问题标题】:Is it possible to place the entirety of jQuery into a new variable?是否可以将整个 jQuery 放入一个新变量中?
【发布时间】:2018-06-13 11:55:06
【问题描述】:

我有一个加载 jQuery 3.2.1 的网站。为了让我们的其中一个小部件工作(由第三方公司提供),它需要 jQuery 1.11.0,它由公司提供的代码加载到单独的 <script> 标记中。

是否可以将后一个旧版本的 jQuery 单独加载到一个新变量中,这样我可以从需要旧版本 jQuery 的小部件的 JS 中调用它?这可能吗?

【问题讨论】:

  • window.new_var = window.jQuery ?不确定这是否可行
  • 在同一页面上使用两个版本的 jQuery 会导致悲伤和灾难。
  • 使用 jquery.noConflict 函数。
  • 可能是,Muhammad,但这个问题的措辞太糟糕了,难怪我在 SO 搜索中找不到它。

标签: javascript jquery version


【解决方案1】:

是的!

您必须使用.noConflict()$ 以外的变量分配给第二个加载的变量。

console.log("1: "+$.fn.jquery);  // Print "1.11.0" in the console

console.log("2: "+jQuery_321.fn.jquery);  // Print "3.2.1" in the console
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script>
<script>
  jQuery_321 = $.noConflict();  // Assing the variable you wish instead of $
</script>

【讨论】:

  • 做到了。我不知道$.noConflict() 可以用来同时加载两个并行版本的jQuery。谢谢!
  • 我的荣幸...我认为您的问题将来会很有用,因为即使是 jQuery 文档也非常缺乏这样的简短示例。 ;)
猜你喜欢
  • 2016-10-22
  • 2022-11-24
  • 1970-01-01
  • 1970-01-01
  • 2019-03-06
  • 1970-01-01
  • 1970-01-01
  • 2016-09-13
  • 1970-01-01
相关资源
最近更新 更多