我正在创建一些 JavaScript,主要是基于 jQuery 的小部件,这些小部件应该可以在第三方页面上运行。为了简化小部件的嵌入和维护,我们要求用户仅嵌入一个 <script>
元素片段从我们的服务器下载 JavaScript 文件,该文件进一步下载小部件运行所需的所有 CSS 和 JavaScript,并将它们放置在第三方页面的头部。
我的问题发生在已经有 jQuery 的页面上,它是依赖的 JavaScript 之一。我们的小部件使用 var jQuery_1_6 = jQuery.noConflict(true)
这是在 jQuery 加载后立即设置的,但是,在检查 jQuery 是否加载的脚本中,我们使用以下 if (typeof jQuery == 'undefined')
和if (typeof jQuery.ui == 'undefined')
。
现在的问题是是否已经有 jQuery
和jQuery.ui
在页面上,if
s 不会加载 jQuery 版本,这(我猜)会导致 jQuery_1_6 = jQuery.noConflict(true)
不去工作。
有什么想法如何申请noConflict
在已经加载的 jQuery 上?再次追加已加载 jQuery 的节点是否有帮助?如果有,如何确定哪个 .js 文件托管 jQuery 代码?
最佳答案
关于jquery - 第三方页面加载jQuery时处理多个jQuery版本冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7806279/