2016-02-09 2 views
0

Поскольку мы используем более старую версию jQuery (1.4) вместе с более новой (1.11), у нас есть 2 разных пространства имён. 1.4 использует стандартные $ и 1.11 использует jQuery1111.Изменение пространства имен jQuery стороннего компонента

Теперь я пытаюсь реализовать редактор froala, который должен использовать версию 1.11. Я изменил код froala на это, чтобы это произошло:

(function (a) { 
    "function" == typeof define && define.amd ? define(["jquery"], a) : "object" == typeof module && module.exports ? module.exports = function (b, c) { 
     return void 0 === c && (c = "undefined" != typeof window ? require("jquery") : require("jquery")(b)), a(c), c 
    } : a(jQuery) 
}(function (a) { 

... 

}(window.jQuery1111))); 

Но это дает мне ошибку a is not a function (но сценарий, кажется, быть в состоянии работать). Ошибка помечена на 4-й строке в приведенном выше скрипте.

Если я изменяю a(jQuery) на 4-й строке до jQuery1111, он запускается без ошибок, но Im не уверен, правильно ли это или если это приведет к ошибке позже.

Является ли это правильным способом реализации стороннего компонента в пространстве имен jQuery по умолчанию?

Обновление: Сценарий заказ

Внутри <head />

<script src="/js/jquery.js" type="text/javascript"></script> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    var jQuery1111 = jQuery.noConflict(true); 
    window.jQuery1111 = window.jQuery1111 || jQuery1111; 
</script> 

Внутри <body />

<script type="text/javascript" src="/scripts/froala_editor.min.js"></script> 
+0

Вы можете поделиться сценарий включает порядок ... –

+0

@ArunPJohny Вопрос обновляется с заказом сценария –

+0

просто переместить оригинал '<тип скрипта =«текст/JavaScript»SRC =«/ скрипты/froala_editor.min.js»> 'перед вызовом' noConflict() '- т.е. вскоре после включения' 1.11.1' –

ответ

0

Вы можете изменить порядок скрипта включает в себя, чтобы исправить проблему без изменения 3-библиотек

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/froala-editor/2.1.0/js/froala_editor.min.js"></script> 
<script type="text/javascript"> 
    var jQuery1111 = jQuery.noConflict(true); 
    window.jQuery1111 = window.jQuery1111 || jQuery1111; 
</script> 
Смежные вопросы