jquery - MooTools 导致 jQuery Web 应用程序外部崩溃

标签 jquery web-applications mootools

应用程序构建于 jQuery , require.js , html , css - 一些使用此应用程序的网站也有 MooTools.js,该框架与我的应用程序冲突,无法与 jQuery 结合。

当应用程序启动时,它需要工作的所有外部源(例如脚本和CSS)都会进入主机网页的head标签和HTML到<div id="widget"/> .

注入(inject)代码如下:

<script language="javascript" type="text/javascript" src="code.jquery.com/jquery-1.8.2.js"></script>
<link href="@(ConfigurationSettings.AppSettings["AppPathFE"] + "outside-ip/widget.css")" />
<script src="@(ConfigurationSettings.AppSettings["AppPathFE"] + "outside-ip/widget.js")"></script>

<div id="widget"></div>

<script>      
    $(function () {
        WG.initialize({
            urlFE: '@(ConfigurationSettings.AppSettings["AppPathFE"])',
            urlBE: '@(ConfigurationSettings.AppSettings["AppPathBE"])',
            theme: 'base',
            lang: 'en-en',
            cache: false,
            logging: true,
            talk: {
                url: '@(ConfigurationSettings.AppSettings["AppTalk"])',
                logging: true,
            },
            air: {
                url: '@(ConfigurationSettings.AppSettings["AppAir"])',
                logging: true,
            },
        });
    });       
</script>

最佳答案

您需要使用 jQuery 而不是 $

MooTools 使用 $ 作为 document.id 的别名,它基本上是 document.getElementById 但具有 MooTools 的功能。

因此,如果您将代码更改为以下内容,您应该是安全的:
(当然,您还必须将脚本文件中的所有 $ 更改为 jQuery):

    jQuery(function () {
        WG.initialize({

而不是

    $(function () {
        WG.initialize({

您还可以在脚本代码中将所有代码包装在 (function($){ code here })(jQuery); 中。因此,如果您的脚本将 WG 导出到全局空间,您可能会:

var WG;
(function($){ 
    // all script code here, removing the var declaration inside the wrap function
})(jQuery);

或者只是到脚本中的window.WG

关于jquery - MooTools 导致 jQuery Web 应用程序外部崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26342386/

相关文章:

javascript - mouse click event.pagex 在移动版 chrome 浏览器 (v30.0.1599.92) 中为 NaN

jquery - 使用 JQuery 控制 HTML 元素

javascript - 鼠标点击删除某些问题的活跃类(class)

oop - 有关使用 Coldfusion 9 进行 OOP 应用程序设计的书籍、教程和视频

javascript - JQuery 淡入淡出功能会导致 WebOS 应用程序中的所有内容都消失?

javascript - 谷歌图片搜索鼠标悬停,它们是如何工作的?

html - 在IE中使用mootools修改HTML对象标签属性

jquery - ajax微调器开始停止不起作用

perl - 如何将 session 添加到我的 Perl Web 应用程序?

javascript - Mootools 背景改变