SWF文件无法从服务器可靠地加载

时间:2009-10-14 18:19:52

标签: html flex actionscript-3 actionscript flex3

我使用Adobe Flex创建了一个应用程序。我从'bin-release'文件夹中获取了所有文件并将其放在服务器上。然后当有人通过http连接到服务器时,它被转发到“index.htm”。 “index.htm”页面是Adobe Flex在编译期间自动创建的HTML页面,我只是将其重命名为该名称(如果重要,则从visco.html重命名)。 SWF文件保持不变。

问题在于,大部分时间我去服务器时,都会转发到“index.htm”文件并完全加载SWF。其他30%的时间,它没有加载!页面的背景变为蓝色(与我的SWF相同),如果我右键单击它,它会显示一个Adobe Flash下拉列表,所以它看起来像它的加载类型,但应用程序并没有完全启动,即使它已经100%在调试期间和手动加载SWF文件时可靠。

我需要做些什么才能让SWF文件加载并可靠地启动?

这是我嵌入SWF文件的地方:

<noscript>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
        id="visco" width="100%" height="100%"
        codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
        <param name="movie" value="visco.swf" />
        <param name="quality" value="high" />
        <param name="bgcolor" value="#869ca7" />
        <param name="allowScriptAccess" value="sameDomain" />
        <embed src="visco.swf" quality="high" bgcolor="#869ca7"
            width="100%" height="100%" name="visco" align="middle"
            play="true"
            loop="false"
            quality="high"
            allowScriptAccess="sameDomain"
            type="application/x-shockwave-flash"
            pluginspage="http://www.adobe.com/go/getflashplayer">
        </embed>
</object>

4 个答案:

答案 0 :(得分:1)

事实证明,问题在于用于提供SWF文件的嵌入式主板,而不是文件本身。

答案 1 :(得分:0)

听起来好像在某个地方抛出一个异常并且无声地失败(在FP10.1上滚动!!)。

将调试版本上传到服务器并尝试重新创建。它会为您提供比空白屏幕更多的信息。

请记住,如果您上传调试版本,则可以从Flex Builder远程调试(这总是一个加号)。

如果它在生产中失败但没有在测试中,那通常表明数据不好,硬编码的URL(localhost是最大的罪魁祸首)或时间问题。

你的第一份工作是找到它失败的确切条件,为此你需要一个调试版本。

答案 2 :(得分:0)

尝试在浏览器中安装调试播放器,它应弹出堆栈跟踪对话框,如果应用程序抛出像gregor建议的异常,应该会给你一个错误的线索。发布版本中的其他调试方法是使用firebug网络监视工具,该工具可以显示应用程序是否正在调用返回404的URL并且应用程序可能没有处理错误。但这仅限于此。我能想到的一些其他想法是,在你的oncomplete / initialize / preinitialize事件中,你试图访问一个空对象或属性,以便app停在那里并阻止它加载。

答案 3 :(得分:0)

问题实际上是用于提供SWF文件的硬件。用于访问SD卡(存储SWF的地方)的代码运行不正常。