apache-flex 为什么我的Flash对象显示不正确?

bnl4lu3b  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(151)

我有一个flash游戏的问题。我必须在网页上的iframe中实现它,它必须在Firefox中运行。游戏本身是一个自己的网页,它用库swfobject加载flash对象。如果我直接在Firefox中打开游戏,它会加载并可玩。如果我打开开发者工具,那么游戏的视频会被隐藏,我只看到一张白色音乐还在播放
奇怪的行为是,当我点击body标签时,游戏是不可见的。如果我点击header标签,游戏是可见的。当我在iframe中打开游戏时,它是不可见的,就像当开发者工具打开时一样。
我有一些其他的游戏,加载完美。他们之间的区别是wmode。不工作的游戏使用wmode的“gpu”。其他的“透明”。但游戏本身需要wmode的gpu或直接,因为它使用stage 3D或什么。
iframe从angular-material库中加载到一个md-dialog中。我也使用了AngularJS。

这款游戏在Chrome中运行得非常完美!

有人知道怎么解决这个问题吗?
这是在游戏的index.html中。

<script type="text/javascript">
        // For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. 
        var swfVersionStr = "11.1.0";
        // To use express install, set to playerProductInstall.swf, otherwise the empty string. 
        var xiSwfUrlStr = "playerProductInstall.swf";
        var flashvars = {};
        var params = {};
        params.quality = "high";
        params.bgcolor = "#ffffff";
        params.allowscriptaccess = "sameDomain";
        params.allowfullscreen = "true";
        params.wmode = "gpu";
        //params.scale = "noborder";
        var attributes = {};
        attributes.id = "Flash";
        attributes.name = "Flash";
        attributes.align = "middle";
        swfobject.embedSWF(
            "flash.swf", "flashContent", 
            "1180", "660", 
            swfVersionStr, xiSwfUrlStr, 
            flashvars, params, attributes);
        // JavaScript enabled so display the flashContent div in case it is not replaced with a swf object.
        //swfobject.createCSS("#flashContent", "display:block;text-align:left;");
    </script>

index.html正在加载以下内容:

<iframe id="iframe" scrolling="no"></iframe>

$('#iframe').attr('src',vm.urlD);

其中vm.urlD是游戏index.html的解析URL。
CSS样式iframe:

iframe{
left: 0;
top: 0;
right: 0;
bottom: 0;
margin: auto;
height: 100%;
width: 100%;
overflow: hidden;
border: none;}
k4emjkb1

k4emjkb11#

您是否设置了iframe的大小?如果您不固定容器元素的大小,有时Flash嵌入在某些浏览器中无法正常工作。它只是在您更改浏览器的大小之前工作(例如打开开发者工具或调整窗口大小等)。
示例:

<iframe width="500px" height="500px" src="..."></iframe>

PS:你应该展示你为它做的代码,人们可以得到正确的答案。

相关问题