Як перевірити, яка версія 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(скорочення:) $.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
Фактично слід зафіксувати це у блоці спробу / лову для 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'? Це правда для кожного ІЕ або лише для старших?
В одному рядку і мінімум натискань клавіш (на жаль!):
alert($().jquery);
Перейдіть до консолі розробника> консоль і напишіть одну з наступних команд
jQuery.fn.jquery
console.log(jQuery().jquery);
Відповідно до блогу монстрів шаблонів , набравши ці сценарії нижче, ви отримаєте версію jquery на веб-сайті, який ви зараз переглядаєте.
1. console.log(jQuery.fn.jquery);
2. console.log(jQuery().jquery);
if (jQuery){
//jquery loaded
}
.....
$.
$? Це не властиво jQuery.