jQuery를 사용하는 함수가 있습니다. JavaScript로 jQuery를 동적으로 삽입하고 해당 함수의 반환 값을 반환해야합니다. 나는javascript 함수에서 동적으로 jQuery를로드하고 다른 함수를 호출 한 다음 해당 함수의 반환 값을 반환하는 방법은 무엇입니까?
(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;
})();
같은 것을 할 싶습니다하지만 while
루프 동안 onJQueryLoaded
호출되지 않습니다.
반환하기 전에 onJQueryLoaded
이 호출되기 전까지 내 기본 기능을 대기시킬 수있는 방법이 있습니까?
타이머는 단지 다른 기능을 호출합니다. 'myJQueryFunction'의 반환 값 (또는 참)을 반환하는 원래의 기본 함수가 필요합니다. – cubetwo1729