【问题标题】:resize flash div to full browser height and width?将 Flash div 的大小调整为完整的浏览器高度和宽度?
【发布时间】:2009-12-22 06:16:27
【问题描述】:

我有一个宽度为 300x250 的 swf flash flash 页面

<div id="flashswf"> ...some flash </div>
<div id="maxme">full screen</div>

我有一个叫做全屏的链接,我需要最大化 flashswf div 以适应当前浏览器的最大高度和宽度

这可能使用 jquery 吗?有什么想法吗

【问题讨论】:

  • 你试过100%和100%`吗?
  • 是的,它只适用于宽度,但对于高度它不能作为 swf 的 100% 工作
  • 如果您将htmlbody 的高度也设置为100%,它可能在没有Javascript 的情况下工作。
  • 我需要保持 swf 状态调整 div 大小导致 swf 重置 flash

标签: javascript jquery html css flash


【解决方案1】:

这是可能的,但请注意,如果包含它的元素(或任何父元素)的样式发生更改,浏览器会重置 Flash 应用程序。

如果您需要维护应用程序的状态,您可以将其放在一个 3x3 的表格中间,100% 的宽度和高度,然后操作所有其他单元格的样式。

【讨论】:

  • 是的,我需要保持 swf 状态,这是我真正的问题,你能解释一下吗?谢谢你
  • 制作一个填满浏览器窗口的表格,并将宽度和高度为 100% 的 Flash 应用程序放入中心单元格。然后使用非中心单元格,将 Flash 内容“推”到所需的位置和大小。要切换到全屏,请将其他单元格的宽度和高度更改为零 - 这会导致具有 Flash 内容的中心单元格拉伸到完整的窗口大小。您可能需要进行大量调整才能获得良好的浏览器兼容性。
【解决方案2】:
$( '#flashswf' ).css( { 
     'width': $( window ).width() + 'px', 
     'height': $( window ).height() + 'px'
} );

【讨论】:

    【解决方案3】:

    使用

    $(window).width();
    

    $(window).height();
    

    获取窗口的宽度和高度

    $(function() {
        $("#maxme").click ( function() {
            $("#flashswf").width($(window).width());
            $("#flashswf").height($(window).height());
        });
    });
    

    width()height()

    【讨论】:

      【解决方案4】:

      我相信您需要设置stage.scaleMode = StageScaleMode.NO_SCALE。否则,Flash 会尝试维护 SWF 文件中的设置。请参阅documentation 了解更多信息。

      我抓住了这个example code from Adobe

      导入 flash.display.Stage; 导入 flash.display.StageAlign; 导入 flash.display.StageScaleMode; 导入 flash.events.Event; var swfStage:Stage = videoScreen.stage; swfStage.scaleMode = StageScaleMode.NO_SCALE; swfStage.align = StageAlign.TOP_LEFT; 函数调整大小显示(事件:事件):无效 { var swfWidth:int = swfStage.stageWidth; var swfHeight:int = swfStage.stageHeight; // 调整视频窗口大小。 var newVideoHeight:Number = swfHeight - controlBar.height; videoScreen.height = newVideoHeight; videoScreen.scaleX = videoScreen.scaleY; // 重新定位控制栏。 controlBar.y = newVideoHeight; } swfStage.addEventListener(Event.RESIZE, resizeDisplay);

      【讨论】:

      • 这是不相关的答案 .. 我问的是 jquery 和 javascript 而不是 flash 动作脚本 .. 无论如何谢谢
      • 您确定问题是您的 div 没有正确调整大小,或者可能是正确调整但 Flash 控件之后没有填充它?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多