SWF无法启动Chrome(Pepper Flash)

时间:2014-01-17 23:28:00

标签: actionscript-3 flash google-chrome

更新:我已将其缩小为Chrome的Pepper Flash。禁用它(迫使Chrome使用其他所有用途的已安装Flash版本),修复它。但是大多数Chrome用户都不会禁用它,因此我仍在寻找解决方案。

我有一个简单的游戏,可以在Firefox中运行,在FlashDevelop中调试时,但在Chrome中无法启动。它似乎被正确嵌入;出现白色矩形,如果右键单击它,则会显示Flash选项。但它不会显示图形或启动游戏,它就在那里。

奇怪的是,如果我对页面做了其他任何事情 - 例如,如果我将其最小化然后再次最大化,或者切换标签然后切换回来 - 游戏将突然出现。我不知道该怎么做,除了这两件事都会导致页面被重新渲染(我认为)。

如果我按任意键(游戏中有键盘监听器),它也会弹出。所以SWF肯定在那里等待命令应该是,它只是没有显示初始状态。

我的第一个想法是我没有正确加载它,但我正在使用FlashDevelop插入的标准加载代码:

public function Main():void {
    if (stage) init();
    else addEventListener(Event.ADDED_TO_STAGE, init);
}

private function init(e:Event = null):void {
    removeEventListener(Event.ADDED_TO_STAGE, init);
   // program entry point

我尝试过以多种不同的方式嵌入它,从简单的<embed><object>到您有时看到的更复杂的版本,它会检查旧版本的IE:

<object type="application/x-shockwave-flash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
 width="800" height="600" id="movie_name" align="middle"
style="position:fixed; top: 50%; left: 50%; margin-top: -300px; margin-left: -400px;">
<param name="movie" value="myswf.swf"/>
<param name="play" value="true" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="mapTest6.swf" width="800" height="600">
    <param name="movie" value="mapTest6.swf"/>
    <param name="play" value="true" />
<!--<![endif]-->
    <a href="http://www.adobe.com/go/getflash">
        <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player"/>
    </a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->

似乎没有任何效果。

最后,无论是在我的本地计算机上还是在Web服务器上,它的行为都相同。我也注意到,偶尔,不会发生,这更令人费解,让我想知道它是否是一个缓存问题。但它通常会。 更新了更多信息

0 个答案:

没有答案