【问题标题】:Detect when (flash) embed is ready (available) [closed]检测(闪存)嵌入何时准备就绪(可用)[关闭]
【发布时间】:2011-10-08 16:20:31
【问题描述】:

是否可以检测 Flash 嵌入对象何时已完全加载?是否有可以在所有浏览器中订阅该作品的事件?

【问题讨论】:

    标签: jquery flash jquery-events readystate


    【解决方案1】:

    不是直接的,但如果您可以通过ExternalInterface 控制 SWF,这很容易做到。首先,在 SWF 的 flashvars 中传递一个回调名称:

    loadedCallback=swfLoadedCallback

    此外,请确保 SWF 已将 scriptAccess 设置为 sameDomainall

    接下来,在你的页面中定义一个回调函数:

    函数 swfLoadedCallback() { // 注意...如果这些是真正的应用程序,你会想要 // 在此处使用 setTimeout 来避免 Flash 窒息而 // 等待响应。 alert('SWF 加载。做点什么。'); }

    然后,在您的 SWF 中,添加如下代码:

    导入 flash.external.ExternalInterface; 导入 flash.utils.setTimeout; 变量参数:对象 = root.loaderInfo.parameters; if (params && params.loadedCallback) { // 设置超时以避免同步问题 设置超时(函数():无效{ 如果(外部接口。可用) ExternalInterface.call(params.loadedCallback); }, 1); }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多