JavaScript/SWF 对象 |创建动态嵌入对象时确定 swf 对象是否存在

标签 javascript jquery swfobject

当我创建暂时隐藏在选项卡中的 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/

相关文章:

Javascript addEventListener onStateChange 在 IE 中不起作用

css - 背景中的 Flash 电影和 Chrome 中固定的位置 => 不良行为

javascript - 如何通过函数将 `linkRef`更新为 `touched`状态?

javascript - 从变量中获取 `/`之后的值

javascript - 如何设置从 Page1.html 到 Page2.html 的特定页面转换?

jquery - 创建 3 个 Div,在单击时展开并显示内容

javascript - 如何删除 .append() 然后添加 .append()

javascript - 试图使标签在标签云中看起来一致

javascript - 当子 iframe 获得焦点时,防止文档丢失键绑定(bind)

jquery + flash : looking for plugin that resize images before upload