当我创建暂时隐藏在选项卡中的 SWF 对象时,因此在某些浏览器(如 FireFox)中未完全加载,我似乎无法找到方法来确定 SWF 是否已加载,因此我可以与它。
/* Generate SWF (onDocumentReady())*/
swfobject.embedSWF("graph.swf","line-graph-one","100%","250","8","expressInstall.swf",null,null,null,swfRegister);
/* Callback function
* -------------------
* Is triggered when SWF object has done it's job, which is fine, but not a
* suggestion that the SWF is actually loaded by the browser)
*/
function swfRegister(e){
console.log(e);
}
这是行不通的。虽然该元素存在于 DOM 中,但无法以某种方式与其进行通信。在这种情况下,FireFox 尚未加载 SWF,因为父容器已隐藏。(display:none;)
document.getElementById('line-graph-one').reloadAll("foobar");
Resulting in: document.getElementById("map-one").reloadAll is not a function
仅当我单击创建 SWF 的选项卡时它才起作用。因此 FireFox 会加载它。
我需要一种方法来检查它是否已加载,
最佳答案
也许先进行可见性检查?
var $el = $("#map-one");
if ( $el.is(':visible') ) {
$el[0].reloadAll('foobar');
}
关于JavaScript/SWF 对象 |创建动态嵌入对象时确定 swf 对象是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3726632/