如何检查客户端机器上加载了jQuery的哪个版本?客户端可能有jQuery加载,但我不知道如何检查它。如果他们有加载,我如何检查版本和前缀,如:
$('.class')
JQuery('.class')
如何检查客户端机器上加载了jQuery的哪个版本?客户端可能有jQuery加载,但我不知道如何检查它。如果他们有加载,我如何检查版本和前缀,如:
$('.class')
JQuery('.class')
当前回答
我发现这是检查jQuery是否加载的最短和最简单的方法:
if (window.jQuery) {
// jQuery is available.
// Print the jQuery version, e.g. "1.0.0":
console.log(window.jQuery.fn.jquery);
}
http://html5boilerplate.com和其他公司使用了这种方法。
其他回答
在一行和最少的按键(哎呀!):
alert($().jquery);
我发现这是检查jQuery是否加载的最短和最简单的方法:
if (window.jQuery) {
// jQuery is available.
// Print the jQuery version, e.g. "1.0.0":
console.log(window.jQuery.fn.jquery);
}
http://html5boilerplate.com和其他公司使用了这种方法。
if (typeof jQuery != 'undefined') {
// jQuery is loaded => print the version
alert(jQuery.fn.jquery);
}
你应该在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
}
我的goto意思是确定版本:
$.fn.jquery
另一个类似的选项:
$().jQuery
如果有人担心可能有多种$ - making $的实现。然后使用jQuery代替:
jQuery.fn.jquery
最近我在使用$.fn时遇到了一些问题。Jquery和$()。jQuery在一些网站上使用,所以我想注意第三个简单的命令来获取jQuery版本。
如果你得到一个版本号——通常是字符串形式——那么jQuery就会被加载,这就是你正在使用的版本。如果没有加载,那么你应该得到undefined,甚至可能是一个错误。
这是一个很老的问题,我看到一些人已经在评论中提到了我的答案。然而,我发现有时作为评论留下的好答案会被忽视;特别是当一个答案有很多评论时,你可能会发现自己在一堆评论中寻找一个宝石。希望这能帮助到一些人!