javascript - 防止第三方 JavaScript 插入 jQuery

标签 javascript jquery

我们有一个包含 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/

相关文章:

javascript - 当我尝试运行 mt Node.js 应用程序时出现 TypeError

javascript - 如何添加不区分大小写的照片库搜索框jquery

javascript - 将表格导出到 Excel,包括宏

javascript - getScript 本地加载而不是全局加载?

javascript - jquery 通过点击一个标签删除一行表 (<tr>)

jquery - 如何通过ajax将集合/数组发送到mvc操作

javascript - AngularJS 使用 $HTTP.JSONP 解析 json 时出现问题

javascript - Ajax调用一开始不起作用,后来调用成功

javascript - 尝试将标题标签添加到 mailto 链接,并在正文中添加 URL

javascript - jqplot 当鼠标悬停在一行上时突出显示一条线