我们有一个包含 jQuery 和第三方 JavaScript API 的页面。此 api 在运行时将 jQuery 动态插入到页面中。它会引起冲突。
如何防止第三方API向页面添加jQuery?
最佳答案
我的答案应该由他们而不是你来应用,第三方 Javascript
的第一个规则是:
"You Don't own the website"
因此,如果他们想使用 jQuery,那么他们必须使用 jQuery noConflict
,这是处理使用多个 jQuery 版本(您的和他们的)的网站的最佳方式:
将 jQuery 完全移动到另一个对象中的新命名空间。
var j = jQuery.noConflict(true);
// then you can say
j( "div p" ).hide();
如果添加此行然后定义一个新的 jQuery,则 j
将成为旧版本的别名,而 jQuery - $
将成为新版本的别名默认。
如果你想确定;您可以检查页面中存在的 jQuery 版本:
j.fn.jquery // this should show you your jQuery version
jQuery.fn.jquery // this should show you their jQuery version
如果您仍然需要使用此第三方 javascript 并且他们无法更改其代码,则可以使用它您可以阅读更多关于 jQuery noconflict 的信息
您可以将 jQuery 分配给您使用的 namespace :mycode.$
和 mycode.jQuery
以便您以后可以使用:
mycode.$("div p")
使用命名空间总是更安全,以确保没有其他人用相同的代码编写可能会覆盖您的变量。
关于javascript - 防止第三方 JavaScript 插入 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34746102/