如果您在以 jQuery 1.7.x 开始的环境中,运行和加载最新版本的 jQuery (1.8.3)是否有任何风险?$.getScript
它会正确覆盖更新的功能还是会发生任何冲突?
$.getScript('http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js')
如果您在以 jQuery 1.7.x 开始的环境中,运行和加载最新版本的 jQuery (1.8.3)是否有任何风险?$.getScript
它会正确覆盖更新的功能还是会发生任何冲突?
$.getScript('http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js')
以下是如何使用 noconflict AND getscript 在包含的块中加载较新版本的 jquery/jqueryui,以防您在已经加载其他版本的上下文中工作。
http://www.ipreferjim.com/2011/06/loading-newer-versions-of-jquery-and-jquery-ui-noconflict/
它可能会搞砸你所有的事件绑定,就像你以正常方式包含两个版本的 jQuery 一样。
这将是异步的,因此您的所有其他脚本将在 getScript 完成之前执行。这对您的插件来说尤其麻烦,因为它们将自己绑定到 jQuery.fn 命名空间。加载新脚本后,它将重新创建 jquery 对象并清除对插件的引用。
您实际上将对 jquery 对象执行出厂重置。
话虽如此,您可以将初始化代码放在 getScript 回调中,但您只能使用核心 jQuery 而不能使用任何插件。
$.getScript('http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js', function() {
console.log("Hi there");
})
您可以 $.noConflict jquery 走出大门,这应该删除 window.$,然后使用 jQuery.getScript 将最新的 jquery 加载到 window.$ 中。
也许?这纯粹是一个建议,我以前从未这样做过。