当前位置: 首页 > 面试题库 >

如何在同一页面上运行不同版本的jQuery?

贺景胜
2023-03-14
问题内容

我公司购买了一种在页面上呈现ASP.NET控件的产品。该控件使用jQuery
1.2.3并将脚本标记添加到页面以引用它。如果控件以任何方式修改(包括修改以引用其他版本的jQuery),则控件的开发人员将不支持使用该控件。

我将要开始开发自己的控件,并希望使用jQuery 1.3的功能和速度改进。这两个控件都需要存在于同一页面上。

如何允许购买的控件使用jQuery 1.2.3和新的自定义开发使用jQuery
1.3?同样出于好奇,如果我们要使用需要引用另一个版本的jQuery的附加控件怎么办?


问题答案:

您可以通过在无冲突模式下运行jQuery版本来实现。“无冲突”模式是使jQuery与其他框架(如prototype)一起在页面上工作的典型解决方案,并且也可以在这里使用,因为它实质上是对您加载的每个jQuery版本进行命名空间。

<script src="jQuery1.3.js"></script>
<script>
    jq13 = jQuery.noConflict(true);
</script>

<!-- original author's jquery version -->
<script src="jQuery1.2.3.js"></script>

此更改将意味着您需要使用jq13而不是调用要使用的任何jQuery东西$,例如

jq13("#id").hide();

在同一个页面上同时运行两个版本不是理想的情况,但是如果您别无选择,则上述方法应允许您一次使用两个不同的版本。

同样出于好奇,如果我们要使用需要引用另一个版本的jQuery的附加控件怎么办?

如果您需要添加其他版本的jQuery,则可以在上面进行扩展:

<script src="jQuery1.3.js"></script>
<script>
    jq13 = jQuery.noConflict(true);
</script>
<script src="jQuery1.3.1.js"></script>
<script>
    jq131 = jQuery.noConflict(true);
</script>

<!-- original author's jquery version -->
<script src="jQuery1.2.3.js"></script>

变量jq13jq131将分别用于所需的特定于版本的功能。

重要的是, 原始开发人员使用jQuery 必须 最后加载
-原始开发人员很可能在假设$()使用其jQuery版本的情况下编写了他们的代码。如果您在其版本之后加载另一个版本,$则会在您上次加载的版本中“抢占”该版本,这意味着原始开发人员的代码在最新的库版本上运行,从而呈现出noConflicts一定程度的冗余!



 类似资料:
  • 首先也是最重要的是,我对Java知之甚少,对SWT更是知之甚少,所以我就到此为止。今天早些时候,我试着运行我在上找到的这个简单程序https://mkyong.com/swt/swt-hello-world-example 以下是代码: 当我运行它时,会出现以下错误: 我从中了解到的是,SWT正在用Java11编译,而它应该用Java8编译,但是——这是一个很大的BUT——我没有Java11我删除

  • 问题内容: 我完全不熟悉Greasemonkey,JavaScript,实际上是所有UI东西。 要求:页面加载后,用户脚本由GS运行一次。但是,我需要多次运行同一脚本而不刷新 用例:例如,Amazon.com搜索使用Ajax进行。我需要在搜索结果中嵌入自定义元素。 每次在同一页面上进行搜索时,我都需要将内容和结果一起注入到search-results-div中(没有页面刷新) 我当前的脚本仅在页面

  • 问题内容: 如何配置Windows命令对话框以在其中运行不同的python版本?例如,当我键入时,它运行python 2.7,而当我键入时,它运行python 3.3?我知道如何为一个版本而不是两个版本配置环境变量?我的意思是类似Linux终端的东西。 问题答案: Python的3.3主要介绍Python启动的Windows是安装到作为和安装程序。安装程序还会创建与和的关联。然后添加或作为第一行。

  • 我正在使用java-8进行多个Spring boot项目,但现在其中一个需要转移到java-11。所以我需要在笔记本电脑上安装两个版本。那么如何在同一台机器上为不同的项目处理不同的JAVA版本呢?

  • 我的应用程序在两个jboss版本jboss 4和jboss 7之间扩展。Jboss 4 intance正在通过eclipse运行。当我尝试通过[Jboss_HOME]/bin/standalone.bat运行Jboss 7时,它不会启动,并显示以下错误。 调用"C:\jboss as-7.1.1。最终\bin\standalone.conf.bat"警告JBOSS_HOME可能指向不同的安装-可能

  • 我正在使用以下项目 https://github.com/akotoe/android-slide-out-menu.git开发滑出菜单应用程序。 如何通过单击幻灯片菜单中的列表在同一视图中运行不同的活动。 例如,如果我单击项目1,我想在一个单独的活动中解析一个XML文件,并将该活动作为子项添加到此父视图中。因为在每一项单击上,我希望解析一个单独的XML文件,并且我希望在一个单独的布局文件中表示解