У меня есть функция, которая использует jQuery. Мне нужно динамически вставить jQuery с JavaScript и вернуть эту функцию этой функции. Я хотел бы сделать что-то вродеКак динамически загружать jQuery в функцию javascript, вызывать другую функцию и возвращать возвращаемое значение этой функции?
(function(){
var jQueryLoaded = false;
var returnValue;
if (!window.jQuery) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://code.jquery.com/jquery-1.7.1.min.js';
script.onreadystatechange= function() {
if (this.readyState == 'loaded' || this.readyState == 'complete')
onJQueryLoaded();
};
script.onload = onJQueryLoaded;
document.getElementsByTagName('head')[0].appendChild(script);
}
else {
returnValue = myJQueryFunction();
if (typeof(returnValue) == 'undefined')
returnValue = true;
return returnValue;
}
function myJQueryFunction() {
// do something
}
function onJQueryLoaded() {
if (jQueryLoaded)
return;
jQueryLoaded = true;
var $ = jQuery;
returnValue = myJQueryFunction();
if (typeof(returnValue) == 'undefined')
returnValue = true;
}
while (typeof(returnValue) == 'undefined'); // wait until onJQueryLoaded returns
return returnValue;
})();
но onJQueryLoaded
не имеет дозвонились во время цикла while
.
Есть ли способ, чтобы моя базовая функция подождала, пока onJQueryLoaded
не будет вызван до возвращения?
Таймер просто вызовет другую функцию; Мне нужна исходная базовая функция, чтобы вернуть возвращаемое значение myJQueryFunction (или true). – cubetwo1729