代码之家  ›  专栏  ›  技术社区  ›  Ruben Quinones

如何使用带有swfobject的JavaScript检查是否加载了swf?

  •  3
  • Ruben Quinones  · 技术社区  · 14 年前

    我有以下主权财富基金:

        <head>
        # load js
        <script>
        function graph() {
         swfobject.embedSWF(
         "open-flash-chart.swf", "chart", "400", "180", "9.0.0", "expressInstall.swf",
         {"data-file":"{% url monitor-graph %}"});
            };
        </script></head>
    
    <div id="chart"> </div>
    <script>
    graph();
    </script>
    

    我只想在swf还没有加载的情况下调用graph函数,有没有办法这样做?谢谢。

    3 回复  |  直到 14 年前
        1
  •  -6
  •   Jacob Relkin    14 年前

    embedSWF 是在嵌入swf时调用的回调函数。它接受一个事件对象,该对象具有表示成功/失败等的两个属性 swfobject documentation .

    swfobject.embedSWF(
     "open-flash-chart.swf", "chart", "400", "180", "9.0.0", "expressInstall.swf",
     {"data-file":"{% url monitor-graph %}"}, {}, {}, 
       function(e) {
         if(e.success) graph();
       }
     );
    
        2
  •  10
  •   pipwerks    11 年前

    使用SWFObject嵌入SWF,然后使用回调函数轮询SWF PercentLoaded 价值。

    如果值为0,则SWF尚未加载。当它达到100,主权财富基金是完全负荷。

    tutorial for polling PercentLoaded ,附带代码示例。

        3
  •  0
  •   Sebastiaan Moeys    11 年前

    swfobject回调仅在成功创建DOM元素时返回success。它实际上并没有说明SWF是否加载了。

    从swfobject文档中:

    注意:如果所需的最小Flash播放器可用,并且SWF的DOM元素中的Flash插件已创建,则成功报告为true。SWFObject无法检测swf文件请求是否已实际加载。