包括在网站中使用jquery的外部javascript?

包括在网站中使用jquery的外部javascript?,javascript,jquery,Javascript,Jquery,我想编写简单的javascript,用于收集访问者信息,脚本需要JQuery才能运行 然后我想提供该脚本,以便其他网站可以使用script src=“my_web/my_javascript.js”从外部包含/加载该脚本 我的困境是如何处理JQuery部分,如何包含JQuery,我不知道包含它的站点是否加载了JQuery,如果我强制加载JQuery,我不想在使用我的脚本的站点上引起冲突或任何问题。只需将JQuery与脚本一起包含—将2个脚本连接在一起并缩小。您可以检测JQuery是否在脚本的开头

我想编写简单的javascript,用于收集访问者信息,脚本需要JQuery才能运行

然后我想提供该脚本,以便其他网站可以使用script src=“my_web/my_javascript.js”从外部包含/加载该脚本


我的困境是如何处理JQuery部分,如何包含JQuery,我不知道包含它的站点是否加载了JQuery,如果我强制加载JQuery,我不想在使用我的脚本的站点上引起冲突或任何问题。

只需将JQuery与脚本一起包含—将2个脚本连接在一起并缩小。

您可以检测JQuery是否在脚本的开头加载,如果没有加载,则警告用户将其包含在内

if (typeof jQuery == 'undefined') {  
    alert("jQuery is required!");
}

这不是个好主意。他们可能有一个不兼容的jquery版本,或者将您自己的jquery与noConflict捆绑在一起,或者通过一些清理来内联您从中使用的函数来删除依赖关系。抱歉,我不理解最后一部分,“通过内联函数删除依赖关系”是什么意思?假设您有
$('#someId').html(“”
。这是一个简单的示例。对于更复杂的示例,请检查jquery源代码并将源代码直接放入代码中。但是,只有使用jquery的一小部分,此解决方案才是好的。您可以检查如何删除jquery代码。我在这里看到两个可能的问题,第一个是,如果站点已经加载了一些代码,是否会出现冲突问题其他JQuery版本?第二,在我看来,这看起来像是过度杀戮,不是吗?是的,谢谢你的发帖..JQuery有一个noconflict模式,正是为这种情况设计的-你必须利用它,这样它就不会与任何其他JQuery副本冲突,而这些副本恰好加载在它旁边。它看起来确实是过度杀戮,但它远比其他版本简单得多d最终对用户来说更快;否则,你加载,检查jQuery是否加载,检查它是否正是你所写的版本,一般来说,除了你所写的确切版本之外,你不能信任任何东西,所以对于几乎所有人,你都会延迟脚本,并通过获取jQuery来增加HTTP请求……不管怎样,你得到了i我想你是对的。虽然我想我期待着一些更优雅的解决方案,因为我看到CMS网站充满了各种各样的插件(彼此都不知道),它使用jQuery,所以在我看来,将每个插件/脚本捆绑在它自己的jQuery库中是一种不好的做法。如果你不控制页面本身加载脚本,你就已经太晚了,无法在任何时候保存用户将要加载的脚本。CMS确实控制页面,以便它们可以执行你观察到的操作。这个解决方案看起来不错,c检查jQuery,如果没有,我可以将其加载到我的代码中,要求用户在关闭body标记之前添加我的脚本。页面上的任何其他javascript都不会出现问题,对吗?jQuery可能与页面上的其他javascript库冲突。但它们也有一个“”模式。缺点是现在你必须加载一个外部脚本,而没有jQuery来帮助你。你正在增加代码大小,以避免增加代码大小的风险?以额外HTTP请求的额外成本为代价。只需包含jQuery并完成它。这似乎有些过分,但同样的设计理念让我们获得了Windows DLL h嗯。