【问题标题】:Resize an SWF when loading it with SWFObject使用 SWFObject 加载 SWF 时调整其大小
【发布时间】:2010-10-31 11:09:01
【问题描述】:

我正在使用 SWFObject 将 SWF 电影加载到 HTML 页面中。我想动态调整这个 SWF 的大小。 SWFObject 如何提供帮助?我确定我不必write my own 解决方案。

【问题讨论】:

  • 我认为您需要澄清“调整大小”flash swf 的含义。当它的嵌入大小发生变化时,它“内部”的行为方式取决于你最初是如何制作 swf 的。
  • 我需要调整 SWF 容器的大小...顺便说一句,我知道在 Flash SWF 中设置的缩放 (Stage.scaleMode) 和对齐 (Stage.align) 选项会影响内容如何受到影响,因为容器调整大小。

标签: javascript html flash swfobject


【解决方案1】:

最简单的解决方案是将 SWF 嵌入容器 div 中,然后使用 JavaScript 和 CSS 动态调整容器 DIV 的大小。如果 SWF 设置为 100% 宽度/高度,则每当调整包装器大小时,它将拉伸以适合包装器。

在体内:

<div id="wrapper">
<div id="flash">This div will be replaced by an object via SWFObject</div>
</div>

在头脑中:

<script>
var flashvars = {};
var params = { scale: "exactFit" };
var attributes = {};

swfobject.embedSWF("myContent.swf", "flash", "100%", "100%", "9.0.0","expressInstall.swf", flashvars, params, attributes);
</script>

<style type="text/css">
#flash {
   display: block;
   width: 100%;
   height: 100%;
}
</style>

现在,每当您调整 #wrapper 的大小时,SWF 都会缩放以填充它。

【讨论】:

    【解决方案2】:

    查看swffit,它应该完全符合要求。

    【讨论】:

    • 它不会调整 Flash SWF 的大小,它只会对保存它的 Div 做一些事情。我想真正地向上和向下缩放 Flash SWF,就像调整 Solitaire 窗口的大小一样。
    【解决方案3】:

    这对我不起作用,但做了一些小的更改,如 http://code.google.com/p/swfobject/wiki/faq “如何创建一个包含 100% 浏览器窗口的 SWF?”部分?

    这样

    <style type="text/css" media="screen">
      html, body, #containerA, #containerB { height:100%; }
      body { margin:0; padding:0; overflow:hidden; }
    </style>
    

    完美!

    【讨论】:

      【解决方案4】:

      我相信上面的代码应该是:

      #wrapper {
         display: block;
         width: 100%;
         height: 100%;
      }
      

      【讨论】:

      • 这条评论是错误的:当它的目的是调整大小时,你为什么要将包装器设置为 100%?只考虑@pipwerks 的回答。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多