Я использую SWFObject и для альтернативного контента (без Flash) Я хочу использовать плагин jQuery.
Очевидно, что я хочу загрузить jQuery и скрипт плагина только тогда, когда Flash недоступен. Таким образом, API-загрузчик Google кажется идеальным.Google API Loader setOnLoadCallback() - готов ли DOM?
У меня возникли проблемы с событием setOnLoadCallback()
. Кажется, это срабатывает, как должно, но, может быть, до того, как DOM будет готов? Я нашел another question на открытии SO, есть второй недокументированный параметр, на загрузке DOM.
, но я до сих пор не могу получить доступ к jQuery!
<script type="text/javascript" src="https://www.google.com/jsapi?key=INSERT-YOUR-KEY"></script>
<script type="text/javascript">
google.load("swfobject", "2.2");
</script>
<script type="text/javascript">
swfobject.embedSWF("slideshow.swf", "slideshow", "800", "530", "7","expressInstall.swf", null, null, null, flashNotLoaded);
function flashNotLoaded(e) {
if (!e.success) {
google.load("jquery", "1.4.2");
google.setOnLoadCallback(jQueryLoaded, true);
}
}
function jQueryLoaded() {
alert("jquery loaded");
$("body").css("background-color","ff00ff"); // does not work....
$(function() {
$("body").css("background-color","ff0000"); // neither does this...
});
}
</script>
EDIT: кажется, что google.load для библиотек, как JQuery доступен только на window.load
Лишь немногие из Google собственных API может быть динамически загружен с обратными вызовами
См: Google Library API - google.load does not load from event?
Возможно, ваш обратный вызов будет запущен в результате загрузки swfobject, а не jQuery? –
, который вызывает обратный вызов? – FFish