更改第三方组件的 jQuery 命名空间
Change jQuery namespace of a 3rd party component
当我们使用较旧的jQuery版本(1.4(和较新的版本(1.11(时,我们有2个不同的命名空间。 1.4 使用标准 $,1.11 使用 jQuery1111。
现在我正在尝试实现 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 行捕获。
如果我将第 4 行的a(jQuery)
更改为jQuery1111
它运行没有错误,但我不确定这是否正确,或者以后是否会导致错误。
这是在非默认的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>
您可以更改脚本包含的顺序以解决此问题,而无需修改第三方库
<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>
相关文章:
- jQuery命名空间和使用“;这个“;
- jQuery事件命名空间是否可以包含破折号
- 带有 jquery、全局命名空间的变量的 $ 前缀
- jQuery 函数的全局命名空间问题
- 解析 RSS 命名空间媒体:缩略图 (js/jQuery)
- 使用require.js后,如何通过简单的脚本引用访问jquery全局命名空间
- Jquery-命名空间和闭包
- 如何在不污染全局命名空间的情况下共享常用的jquery函数
- jQuery命名空间声明和模块化方法
- 使用 JavaScript 和 jQuery 修改命名空间 XML
- 使用 jQuery 读取命名空间属性
- 如何将jQuery Mobile附加到我自己的jQuery命名空间版本
- 具有命名空间的文档上的 jQuery 事件未按预期运行
- 更改第三方组件的 jQuery 命名空间
- JS Jquery 命名空间调用函数
- jQuery.data() 命名空间
- 在命名空间中混合 JavaScript 和 jquery
- 将jQuery命名空间注入AngularJS
- 使用jQuery命名空间
- JQuery命名空间模式