Javascript Flash对象';s方法在隐藏后不可用
我使用Chrome23.0.1271.97使用jQuery在Javascript中开发。我有一个FlexJavascript Flash对象';s方法在隐藏后不可用,javascript,apache-flex,dom,Javascript,Apache Flex,Dom,我使用Chrome23.0.1271.97使用jQuery在Javascript中开发。我有一个Flex,HTML如下: <div id="chartdiv" style="display:none;"> <object type="application/x-shockwave-flash" id="barchart" data="barchart.swf" style="width:100%;height:100%;"> <param name="movie"
,HTML如下:
<div id="chartdiv" style="display:none;">
<object type="application/x-shockwave-flash" id="barchart" data="barchart.swf" style="width:100%;height:100%;">
<param name="movie" value="barchart.swf" />
<param name="quality" value="high" />
<param name="allowScriptAccess" value="always" />
<param name="wmode" value="transparent" />
</object>
</div>
在尝试失败时(显示、隐藏和返回后),对象看起来如下所示:
这让我觉得也许我找错地方了。我已经浏览了我的前端Javascript代码,除了通过jQuery隐藏对象之外,似乎没有任何修改对象的调用。我被告知Flex对象不知道是否显示了它。在我要求查看代码之前,我想确定我的思路是正确的。我一直在搜索,似乎是正确的 因此,我的解决方案是测试jQuery/DOM对象,并查看是否定义了该方法:
function isFlashWorking()
{
return ($chart && chart.blah)
}
其中,
blah
是对象中的已知方法。这是已知问题。如果您不想重置flash对象,最好的解决方案之一就是将其大小设置为几个像素,用户看不见,但浏览器可以看到。将其移出屏幕,使对象仍然可用。
请参阅本文中的示例:
<object type="application/x-shockwave-flash" id="barchart" data="barchart.swf" style="width:100%;height:100%;">
<param name="movie" value="barchart.swf">
<param name="quality" value="high">
<param name="allowScriptAccess" value="always">
<param name="wmode" value="transparent">
</object>
function isFlashWorking()
{
return ($chart && chart.blah)
}