Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用多个jqueryui版本_Jquery_Jquery Ui Dialog - Fatal编程技术网

使用多个jqueryui版本

使用多个jqueryui版本,jquery,jquery-ui-dialog,Jquery,Jquery Ui Dialog,我们必须使用jQueryUI创建站点,其中一个站点包含来自另一个站点的一些片段。这些部分是在jQueryUIAccordion上构建的,但我无法同时加载这两个版本的UI。一个是1.8.11的自定义版本,另一个是完整版本(完整版本不会加载) 有什么建议吗?请阅读JQUERY UI上的文档。如果不为每个UI指定上下文,则不能使用两个版本的UI 例如,这允许您在一个页面上使用多个UI 坏消息是,一旦生成了文件,就不能再添加上下文 我不确定,但我认为在与UI关联的javascript文件中,有一个链接可

我们必须使用jQueryUI创建站点,其中一个站点包含来自另一个站点的一些片段。这些部分是在jQueryUIAccordion上构建的,但我无法同时加载这两个版本的UI。一个是1.8.11的自定义版本,另一个是完整版本(完整版本不会加载)


有什么建议吗?

请阅读JQUERY UI上的文档。如果不为每个UI指定上下文,则不能使用两个版本的UI

例如,这允许您在一个页面上使用多个UI

坏消息是,一旦生成了文件,就不能再添加上下文


我不确定,但我认为在与UI关联的javascript文件中,有一个链接可以将您带到JQUERY UI构建页面,在那里您可以使用上下文重新生成UI。

一小时后就解决了这个问题。出于某种原因,没有人在互联网上解释过这一点

首先,调用要无冲突的jQuery版本:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript">
  var $jnine = jQuery.noConflict();
</script>
现在,您可以使用
$jnine


Rememver:在加载任何其他jQuery之前运行此脚本非常重要,除非它们也没有冲突。

另一个选项是将ui加载到它自己的上下文中

<script language="javascript" type="text/javascript">
   var smartDonationsOldJQuery=jQuery;
   var smartDonationsOldCashSign=$;
</script>

<script language="javascript" type="text/javascript" src="http://rednao.com/wp-content/plugins/smartdonations/js/jquery-1.9.1.min.js"></script>
<script language="javascript" type="text/javascript" src="http://rednao.com/wp-content/plugins/smartdonations/js/jquery-ui-1.10.2.custom.js"></script>

<script language="javascript" type="text/javascript">
    var rnSDJQ=jQuery;
    window.jQuery =smartDonationsOldJQuery;
    window.$ = smartDonationsOldCashSign;
</script>

var smartDonationsOldJQuery=jQuery;
var smartDonationsOldCashSign=$;
var rnSDJQ=jQuery;
window.jQuery=smartDonationsOldJQuery;
窗口。$=smartDonationsOldCashSign;
这样做的好处是,您将拥有自己的jquery/jquery ui副本,与代码的其余部分隔离开来(如果您正在创建组件,如wordpress组件,这真的很好)。坏的是,您将不得不再次加载jquery


更多信息(免责声明,我写的):

有错误消息吗?您正在尝试在同一站点中加载两个版本吗?或者你是说你有两个网站,每个都使用自己的版本,但其中一个不起作用?至少它是最接近任何一个网站的:)。它并没有真正解决两次加载相同的UI构建版本的问题,但问题可能是相同的,尽管“[在]jQuery UI构建页面上…您可以使用上下文重新生成UI”您对此有参考吗?位于的jQuery UI构建页面似乎没有提到任何称为“上下文”的内容,而且它似乎没有添加此类内容的控件。我相信Edger在回答()中解释了为jQuery UI提供自己的“上下文”。本质上,您可以将jQuery变量临时存储在变量中,如
var jQuery1=window.jQuery
,然后加载脚本(在HTML中内联使用
标记,或者在JavaScript中编程,然后是onload回调),然后将新加载的jQuery设置为另一个变量,如
var jQuery2=window.jQuery
然后恢复旧的,如
window.jQuery=jQuery1
<script language="javascript" type="text/javascript">
   var smartDonationsOldJQuery=jQuery;
   var smartDonationsOldCashSign=$;
</script>

<script language="javascript" type="text/javascript" src="http://rednao.com/wp-content/plugins/smartdonations/js/jquery-1.9.1.min.js"></script>
<script language="javascript" type="text/javascript" src="http://rednao.com/wp-content/plugins/smartdonations/js/jquery-ui-1.10.2.custom.js"></script>

<script language="javascript" type="text/javascript">
    var rnSDJQ=jQuery;
    window.jQuery =smartDonationsOldJQuery;
    window.$ = smartDonationsOldCashSign;
</script>