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