SWF没有通过https在IE中播放?

时间:2012-01-18 11:43:21

标签: ssl https flash

这一直让我疯了。

我直接从flash导出swf / html,非常简单。我上传它,它适用于所有浏览器。如果我在所有浏览器中将http更改为https,则没有问题。

除了IE之外的所有浏览器 - 当我将http更改为https时,我什么都没得到 - 如果我右键单击我得到“电影未加载...”(灰色)和通常关于Flash播放器。

我已经重新安装了我的Flash播放器,阅读了很多提示并试了很多其他的黑客但似乎没什么用。

我正在使用IE 9(仅用于测试)

有人能看到这段代码有什么问题吗?

<div id="flashContent">
        <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="562" height="300" id="banner" align="middle">
            <param name="movie" value="banner.swf" />
            <param name="quality" value="high" />
            <param name="bgcolor" value="#ffffff" />
            <param name="play" value="true" />
            <param name="loop" value="true" />
            <param name="wmode" value="window" />
            <param name="scale" value="showall" />
            <param name="menu" value="true" />
            <param name="devicefont" value="false" />
            <param name="salign" value="" />
            <param name="allowScriptAccess" value="sameDomain" />
            <!--[if !IE]>-->
            <object type="application/x-shockwave-flash" data="banner.swf" width="562" height="300">
                <param name="movie" value="banner.swf" />
                <param name="quality" value="high" />
                <param name="bgcolor" value="#ffffff" />
                <param name="play" value="true" />
                <param name="loop" value="true" />
                <param name="wmode" value="window" />
                <param name="scale" value="showall" />
                <param name="menu" value="true" />
                <param name="devicefont" value="false" />
                <param name="salign" value="" />
                <param name="allowScriptAccess" value="sameDomain" />
            <!--<![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]-->
        </object>
</div>

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

这与Web服务器响应来自浏览器的请求发送的HTTP标头有关。

具体而言,在IE中,忽略从安全上下文发送到不安全上下文的任何HTTP响应。它无声地失败。

要解决此问题并允许通过SSL从服务器接收HTTP响应,必须在Web服务器级别更改配置或在代码级别设置标头以确保正在发送正确的标头HTTP响应。

该HTTP标头如下:Cache-Control: no-store

我希望这个答案有助于理清你的问题。 我的信息来源:Here

答案 1 :(得分:0)

我和这个问题争了一段时间。 我在Adobe网站上找到了答案(它对我有用)http://helpx.adobe.com/flash-player/kb/flash-player-issues-secure-sockets.html#main_Data_Lloading_fails_when_using_a_no_cache_header_Pragma

希望它有所帮助!