如何检查客户端机器上加载了jQuery的哪个版本?客户端可能有jQuery加载,但我不知道如何检查它。如果他们有加载,我如何检查版本和前缀,如:
$('.class')
JQuery('.class')
如何检查客户端机器上加载了jQuery的哪个版本?客户端可能有jQuery加载,但我不知道如何检查它。如果他们有加载,我如何检查版本和前缀,如:
$('.class')
JQuery('.class')
当前回答
if (jQuery){
//jquery loaded
}
…
其他回答
我发现这是检查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和其他公司使用了这种方法。
你应该在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
}
我的偏好是:
console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded")
结果:
jQuery 1.8.0加载
只是因为这个方法到目前为止还没有提到-打开控制台并键入:
$ === jQuery
正如@Juhana上面提到的$()。Jquery将返回版本号。
你可以检查jQuery对象是否存在:
if( typeof jQuery !== 'undefined' ) ... // jQuery loaded
jQuery()。Jquery有版本号。
至于前缀,jQuery应该总是有效的。如果你想使用$,你可以将你的代码包装到一个函数中,并将jQuery作为参数传递给它:
(function( $ ) {
$( '.class' ).doSomething(); // works always
})( jQuery )