Сценарий:
У меня есть некоторый код JS, я хочу определить, существует ли уже JQuery в DOM, если не добавить его:
if (typeof jQuery != 'function') {
var sc = document.createElement('script');
sc.type = 'text/javascript';
sc.async = true;
sc.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js";
sc.onload = function() { App.getTrackers(); };
sc.onreadystatechange = function() { App.getTrackers(); };
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(sc, s);
}
else {
App.getTrackers();
}
App = {
getTrackers: function() {
$.ajax({url: "/ajax.php", success: function(data) { console.log(data) }});
}
}
onload () для FF+ Webkit;onReadyStateChange () для IE
Проблема с IE, я получаю эту ошибку:
'$' is undefined
Пока!Консоль IE возвращает содержимое ajax.php.Таким образом, функция jQuery была выполнена ... как-то.Хотя $ было не определено ...
Не существует ли еще $?Должен ли он быть скомпилирован, даже если скрипт был загружен?