我正在使用SWFObject和替代内容(无Flash)我想使用jQuery插件。
很明显,我只想在Flash不可用时才加载jQuery和插件脚本。所以Google的API加载器看起来很完美。Google API加载器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>
编辑:似乎为的google.load像jQuery库仅在window.load可用
只有少数几个谷歌自己的API的可动态加载回调
参见:Google Library API - google.load does not load from event?
您的回调可能因加载swfobject而不是jQuery而被解雇? – 2010-11-06 18:16:50
哪个回调被解雇? – FFish 2010-11-06 19:01:48