Тестування, чи завантажено jQueryUI


129

Я намагаюся налагодити веб-сайт, і я думаю, що jQueryUI, можливо, не завантажився належним чином. Як я можу перевірити, чи завантажився jQueryUI?

Відповіді:


243
if (jQuery.ui) {
  // UI loaded
}

АБО

if (typeof jQuery.ui != 'undefined') {
  // UI loaded
}

Слід зробити трюк


2
моя проблема полягає в тому, що я динамічно завантажую jQuery та jQuery.ui. Це часом навантажує час, іноді ні. Якщо інтерфейс не завантажений, як я можу дочекатися його (або змусити його завантажити) перед тим, як викликати будь-який метод?
Габріель Діаконеску

17
не впевнений, що це має велику різницю, але, виходячи з тесту Boilerplate на jquery, вони використовують window.jQueryтак для користувальницького інтерфейсу jQuery Я використовую тестwindow.jQuery.ui
Tim B James

це не працює для мене. може хто-небудь, будь ласка, погляньте на цю програму і дайте мені знати, чи я роблю щось не так. jsfiddle.net/vEvYv/1 Я очікую, що інша частина мого оператора if запуститься, оскільки я не завантажую jQuery. окрім цього, вона виходить з ладу на першому рядку. Запустіть сторінку з відкритою консоллю свого веб-переглядача (я використовую FF) і подивіться рядокjQuery is not defined
Дейв Хей

2
@DaveHaigh - ви не завантажили JQuery. Інтерфейс JQuery залежить від JQuery.
Кріс Хайнс

16

Вам потрібно перевірити, чи є обидва файли бібліотеки jQuery UI та Тема CSS .

Інтерфейс jQuery створює властивості об’єкта jQuery, ви можете перевірити:

jQuery.ui
jQuery.ui.version

Щоб перевірити, чи завантажуються необхідні файли CSS, я б рекомендував вам використовувати Firebug та шукати файли тем на вкладці CSS.

Я вже бачив проблеми, коли користувачі правильно завантажують бібліотеку інтерфейсу jQuery, але тема CSS відсутня.


Щоб перевірити, чи завантажено якусь певну функціональність, виглядатиме чек (наприклад, підказка) ........................ if( typeof jQuery().tooltip != "undefined" )
jave.web

7

Я знаю, що це старе питання, але ось короткий невеликий сценарій, який ви можете використовувати, щоб обернути всі ваші інтерфейси jQuery, що не мають пов’язаної події, щоб переконатися, що вони виконуються лише після завантаження інтерфейсу jQuery:

function checkJqueryUI() {
    if (typeof jQuery.ui != 'undefined') {
        do_jqueryui();
    }
    else {
        window.setTimeout( checkJqueryUI, 50 );
    }
}
// Put all your jQuery UI stuff in this function
function do_jqueryui() {
    // Example:
    $( "#yourId" ).dialog();
}
checkJqueryUI();

3

Просто перевірити об’єкт ui, наприклад

<script src="jquery.js"></script>
<script src="jquery-ui.js"></script>
<script>
  $(function(){
    // did the UI load?
    console.log(jQuery.ui);
  });
</script>

1

Ви можете перевірити, завантажений чи не користувальницький інтерфейс jQuery багатьма способами, такими як:

if (typeof jQuery.ui == 'undefined') {
   // jQuery UI IS NOT loaded, do stuff here.
}

АБО

if (typeof jQuery.ui != 'function') {
    // jQuery UI IS NOT loaded, do stuff here.
}

АБО

if (jQuery.ui) {
    // This will throw an error in STRICT MODE if jQuery UI is not loaded, so don't use if using strict mode
    alert("jquery UI is loaded");
} else {
    alert("Not loaded");
}


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.