如何检查什么版本的jQuery加载?
如何检查在客户机上加载了哪个版本的jQuery? 客户端可能有jQuery加载,但我不知道如何检查它。 如果他们有它加载我如何检查版本和前缀,如:
$('.class') JQuery('.class')
if (typeof jQuery != 'undefined') { // jQuery is loaded => print the version alert(jQuery.fn.jquery); }
你可以检查jQuery
对象是否存在:
if( typeof jQuery !== 'undefined' ) ... // jQuery loaded
jQuery().jquery
的版本号。
至于前缀, jQuery
应该始终工作。 如果你想使用$
你可以把你的代码包装到一个函数中,并将jQuery
作为parameter passing给它:
(function( $ ) { $( '.class' ).doSomething(); // works always })( jQuery )
…只是因为这个方法至今没有被提及 – 打开控制台并input:
$ === jQuery
作为@Juhana上面提到的$().jquery
将返回版本号。
我发现这是检查jQuery是否被加载的最简单的方法:
if (window.jQuery) { // jQuery is available. // Print the jQuery version, eg "1.0.0": console.log(window.jQuery.fn.jquery); }
我的偏好是:
console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded")
结果:
jQuery 1.8.0加载
您应该实际上将其包装在IE的try / catch块中:
// Ensure jquery is loaded -- syntaxed for IE compatibility try { var jqueryIsLoaded=jQuery; jQueryIsLoaded=true; } catch(err) { var jQueryIsLoaded=false; } if(jQueryIsLoaded) { $(function(){ /** site level jquery code here **/ }); } else { // Jquery not loaded }
$.fn.jquery
如果你得到一个版本号 – 通常是一个string – 然后jQuery被加载,这是你正在使用的版本。 如果没有加载,那么你应该回到
undefined
,甚至可能是一个错误。
很老的问题,我已经看到一些已经在评论中提到我的答案的人。 但是,我发现有时留下评论的好的答案可能会被忽视; 特别是当有很多评论的答案,你可能会发现自己挖一堆,寻找一个gem。 希望这可以帮助别人!
if (jQuery){ //jquery loaded }
…..