Как проверить, какая версия jQuery загружена на клиентский компьютер? Клиент может загрузить JQuery, но я не знаю, как это проверить. Если они загружены, как я могу проверить версию и префикс, такой как:
$('.class')
JQuery('.class')
Как проверить, какая версия jQuery загружена на клиентский компьютер? Клиент может загрузить JQuery, но я не знаю, как это проверить. Если они загружены, как я могу проверить версию и префикс, такой как:
$('.class')
JQuery('.class')
Ответы:
if (typeof jQuery != 'undefined') {
// jQuery is loaded => print the version
alert(jQuery.fn.jquery);
}
jQuery.fn.jqueryи jQuery().jquery(shorthands:) $.fn.jquery $().jquery. Я написал об этом подробно со ссылками на исходный код jquery, если вы хотите копать глубже.
if (window.jQuery) { // jQuery is loaded => print the version alert(jQuery.fn.jquery); }
!==
Вы можете просто проверить, существует ли jQueryобъект:
if( typeof jQuery !== 'undefined' ) ... // jQuery loaded
jQuery().jquery имеет номер версии.
Что касается префикса, jQueryвсегда должно работать. Если вы хотите использовать, $вы можете обернуть ваш код в функцию и передать jQueryей в качестве параметра:
(function( $ ) {
$( '.class' ).doSomething(); // works always
})( jQuery )
if( jQuery )Будет сгенерировано исключение , если jQueryнеизвестно , и он не будет работать.
try {...}catch(e){...}?
jQuery().jquery. Он создает объект jQuery даром. (скопированный комментарий из другого ответа)
$.fn.jquery
// If there is concern that there may be multiple implementations of `$` then:
jQuery.fn.jquery
Если вы получаете номер версии - обычно в виде строки - тогда загружается jQuery, и именно с этой версией вы работаете. Если не загружен, то вы должны вернуться
undefinedили, возможно, даже ошибка.
Довольно старый вопрос, и я видел несколько человек, которые уже упоминали мой ответ в комментариях. Тем не менее, я считаю, что иногда отличные ответы, оставленные в качестве комментариев, могут остаться незамеченными; особенно, когда есть много комментариев к ответу, вы можете копаться в кучах их в поисках драгоценного камня. Надеюсь, это поможет кому-то!
... только потому, что этот метод не был упомянут до сих пор - откройте консоль и введите:
$ === jQuery
Как упоминалось выше @Juhana $().jqueryвернет номер версии.
($ === jQuery)?$().jquery:'no 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 и другими.
Я предпочитаю:
console.debug("jQuery "+ (jQuery ? $().jquery : "NOT") +" loaded")
Результат:
JQuery 1.8.0 загружен
Вы должны фактически обернуть это в блок try / catch для IE:
// 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
}
typeof jQuery != 'undefined'? Это правда для каждого IE или только для старых?
В одной строке и минимум нажатий клавиш (упс!):
alert($().jquery);
Перейдите в инструмент разработчика> консоль и введите одну из следующих команд
jQuery.fn.jquery
console.log(jQuery().jquery);
Как описано в блоге Template monster , эти сценарии ниже приведут вам версию jquery на сайте, который вы просматриваете сейчас.
1. console.log(jQuery.fn.jquery);
2. console.log(jQuery().jquery);
if (jQuery){
//jquery loaded
}
.....
$.
$? Это не уникально для jQuery.