javascript - 在一个脚本中支持多个 JavaScript 库

标签 javascript

我正在用 JavaScript 开发一个新项目,我想稍后发布。除了其他功能外,此脚本还需要一些 DOM 操作。为了制作这个 XB(跨浏览器)而不是再次发明轮子,我需要现有 JavaScript 库的帮助。由于大量优秀的库,我不想为这个项目强制使用一个库。这就是为什么我希望在一个脚本中支持多个库

了解我的 jQuery,但我没有足够的经验使用其他库。 所以我想知道是否有教程或文章阐明了在脚本中支持多个 JavaScript 库

我在某处读到过 CSS 选择器引擎(Sizzle、Selector.js、Peppy、NWMatcher、cssQuery)也可以做到这一点,但我不知道 JS。

最佳答案

好吧,使用 jQuery,您可以使用 $.noConflict() 函数从全局命名空间中删除“$”和“jQuery”变量,以防止页面的其他部分使用其他版本的 jQuery 或其他版本时可能出现的问题声明“$”变量的库。

这是一个简单的例子......

<script src="/path/to/jquery.min.js" type="text/javascript"></script>
<!-- load plugins you require here -->
<script type="text/javascript">

var myUniquelyNamedVar = {};
myUniquelyNamedVar.jQuery = $.noConflict(true);  // de-aliases jQuery, but gives you a private reference (if you need it)

(function($) {
    // use an anonymous function and pass in your private jQuery instance;  inside this function you can use $ like normal...
})(myUniquelyNamedVar.jQuery);
</script>

我已将此方法用于 JSR-168 portlet,并取得了巨大成功。它允许我在一个页面上有多个 portlet,每个 portlet 都可以使用不同版本的 jQuery 或不同的插件。

关于javascript - 在一个脚本中支持多个 JavaScript 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2045486/

相关文章:

javascript - 通过 JSX 在 React State 上使用来自异步函数的数据

javascript - SVG 图像文件未显示完整图像

javascript - 修复 CSS 定位和缩放

javascript - 使用 JQuery 更改元素的类

javascript - 无法将数组或对象设置为 html5 Web 存储?

javascript - jQuery 如何捕获 tbody 中的嵌套值?

javascript - highland.js 异步数组到值流

javascript - 如何在 sIFR3 中获得软投影?

javascript - 如何在 Angular 2中将参数传递给POST方法

javascript - 在初始页面加载(和用户刷新)时执行功能,但不执行后退按钮