Flash播放器不适合屏幕

时间:2014-03-14 20:56:10

标签: css swfobject

我正在使用此代码尝试获取一个swf文件以“适应”我的屏幕或其所在的任何屏幕,但是我有一个问题。当使用这个代码时,Chrome和IE中的播放器都会拉伸以适应屏幕,但高度不是,它没有高度填充屏幕,为什么宽度不高时工作?

<style>
player {
  width:100%;
  height:100%;
}
</style>

    <!--[if IE]><object
        id="player"
        type="application/x-shockwave-flash"
        classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
        codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab"
    ><![endif]-->
    <!--[if !IE]>--><object
        id="player"
        type="application/x-shockwave-flash"
        codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab"
        data="/<? echo "$swf"; ?>.swf"
    ><!--<![endif]-->
        <param name="movie" value="/<? echo "$swf"; ?>.swf" />
        <param name="quality" value="high" />
        <param name="scale" value="noborder" />
        <p>
            <a href="http://get.adobe.com/flashplayer/">
                Adobe Flash Player
            </a> is required to view this content.
        </p>
    </object>

编辑: 如果我改变宽度:100%; &安培;高度:100%;例如600,它既可以在IE浏览器也可以在Chrome中使用,但是一旦我将其更改为100%,它就会适应屏幕,同时高度被拧紧并且几乎只有屏幕的一半,在IT中,重新设置根本无法工作: &LT;

3 个答案:

答案 0 :(得分:0)

您的CSS似乎不正确。您需要使用#来选择ID。

#player {
  width:100%;
  height:100%;
}

答案 1 :(得分:0)

你的嵌入式闪光灯必须在其他元素之外, html&amp; body 高度必须为100%。

样品:

 <!DOCTYPE html>
 <html>
      <head>
           <style type="text/css">
                html, body {
                     height: 100%;
                }

                #player {
                     width: 100%;
                     height: 100%;
                }
           </style>
      </head>
      <body>
           <!--[if IE]><object id="player" type="application/x-shockwave-flash" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"  codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab"><![endif]-->
           <!--[if !IE]>--><object id="player" type="application/x-shockwave-flash" codebase="http://fpdownload.adobe.com/pub/shockwave/cabs/flash/swflash.cab" data="/<? echo "$swf"; ?>.swf"><!--<![endif]-->
           <param name="movie" value="/<? echo "$swf"; ?>.swf" />
           <param name="quality" value="high" />
           <param name="scale" value="noborder" />
           <p>
                <a href="http://get.adobe.com/flashplayer/">
                     Adobe Flash Player
                </a> is required to view this content.
           </p>
           </object>
      </body>
  </html>

否则,请使用固定绝对定位:

 #player {
      position: absolute; // or "fixed"
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
 }

答案 2 :(得分:0)

如上所述,#selector需要修复,但如果仍然没有达到预期效果,请记下您正在使用的scale参数。您可能希望使用exactfit代替。来自Adobe的doc

  

比例 - 可能的值:showall,noborder,exactfit,noscale。指定Flash Player如何缩放SWF内容以适合像素区域   由OBJECT或EMBED标签指定。

     
      
  • 默认(全部显示)使整个SWF文件在指定区域中可见而不会失真,同时保持原始   电影的宽高比。边界可以出现在两边   电影。
  •   
  • noborder 缩放SWF文件以填充指定区域,同时保持文件的原始高宽比。 Flash Player可以   裁剪内容,但不会发生扭曲。
  •   
  • exactfit 使整个SWF文件在指定区域中可见,而不尝试保留原始宽高比。失真   可以发生。
  •   
  • noscale 可防止SWF文件缩放以适合OBJECT或EMBED标记的区域。可以进行裁剪。
  •