2012-04-16 4 views
0

Я нахожусь в android, и потому, что я ленив, я загружаю jquery в webview, чтобы манипулировать DOM.Как узнать, полностью загружена ли jQuery?

Я загружаю свой веб-просмотр, и пока jQuery не определен, у меня есть экран загрузки, чтобы указать пользователям, что он ничего не может сделать.

if(info.equalsIgnoreCase("undefined")) 

info - typeof (jQuery). Он не определен в начале, через ~ 1 сек позже он определен, но СЮРПРИЗ! У вас нет всех функций ...

Пояснения: Только после определения jQuery, я попробовал jQuery ('body'). Remove() ... Мне нужно подождать ~ 4 сек позже. Но если я просто хочу изменить фон своего тела, он работает немедленно.

Мой вопрос: Как узнать, когда загружается jQuery?

Заранее спасибо

+0

Это не JQuery, не полностью загружен, это DOM, используйте '$ .ready', как уже упоминалось –

+0

Я уверен, что DOM загружен, потому что я жду, прежде чем загрузки JQuery. – Shinao

ответ

1

Почему бы просто не использовать ready(), чтобы определить, когда целевые селекторы доступны?

$(document).ready(function() { 
    // load things 
}); 

Альтернативным вариантом будет Призонная шайба OnLoad событие тела, чтобы вызвать, когда тело документа по окончании загрузки, будучи уверенным, чтобы включить JQuery в теле:

<body onload="fireItUp();"> 
    <script src="/path/to/jquery.js"></script> 
    <script> 
    window.fireItUp = function() { 
    // load things 
    } 
    </script> 
</body> 

Уродливый, но функциональный.

+0

Я уже пробовал, но он, как он, обращается к этой функции ... Итак, у меня появился бесконечный экран загрузки. – Shinao

+0

Я попробовал систему $ (document) .ready еще раз, и она входит в нее, когда я добавляю ее после завершения загрузки jQuery, поэтому это бессмысленно. Проблема заключается в том, что пользователь выбирает, когда «активировать» jQuery, поэтому я не вижу, как я могу добавить jQuery таким образом, кроме того, если я добавлю его на каждый веб-сайт, который он видит, но да, это уродливо: p. Может быть, с другой стороны? – Shinao

1

Как только jQuery доступен, у вас есть do есть все доступные методы.

Вам нужно подождать, когда DOM будет готов.

$(function() { 
    // DOM may be manipulated here. 
}); 
+0

То же самое, что $ (document) .ready ... Только введите его, когда я добавлю его ПОСЛЕ jQuery полностью загружен – Shinao

Смежные вопросы