Я создаю пару виджетов, предназначенных для включения либо отдельно, либо в виде пары, и в определенном порядке. Я убедившись, что Jquery загружается с помощью этого сценария:Проверьте, включен ли jQuery
if (typeof jQuery == 'undefined') {
//alert("about to load jquery");
var esm_script_tag = document.createElement('script');
esm_script_tag.setAttribute("type","text/javascript");
esm_script_tag.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js")
esm_script_tag.onload = main; // Run main() once jQuery has loaded
esm_script_tag.onreadystatechange = function() { // Same thing but for IE
if (this.readyState == 'complete' || this.readyState == 'loaded') main();
}
document.getElementsByTagName("head")[0].appendChild(es_script_tag);
}
else{
main();
}
На одном сценарии он запускает функцию main()
и на других main2()
. Проблема в том, что после запуска первого скрипта он начинается с jQuery. Когда второй запускается, jQuery еще не загружен, но не будет загружать его снова, чтобы отключить функцию main2()
.
Есть ли лучший способ включить jQuery? Есть ли способ для моих виджетов проверить, находится ли jQuery в середине загрузки и удерживать его, пока он не будет готов?
Спасибо за любые ответы.
Что делать, если вы выполнили этот тест в документе? – DOK
@ DOK Не было бы лишним? – Blazemonger
Но $ (document) .ready будет недоступен до загрузки jQuery. – emachine