SWF 对象参数 - scale 或 scaleMode

Posted

技术标签:

【中文标题】SWF 对象参数 - scale 或 scaleMode【英文标题】:SWF object params - scale or scaleMode 【发布时间】:2011-12-23 15:33:13 【问题描述】:

在我的工作中,我一直将 SWF 文件嵌入到 html 文档中。我经常问自己几个问题:

scaleMode="noscale" 还是scale="noscale"?这些值是否区分大小写?我看到了一些代码 sn-ps,例如scale="noScale" 等。

ActionScript 中的语法如何?是骆驼箱noScale吗?我不关心 HTML 标准,我只想从 Flash 开发人员的角度了解它。

有人知道吗?我查了很多次谷歌,但我从来没有找到像一致性描述这样的东西。我刚刚找到了描述参数和值的 Adob​​e 页面,但没有回答我的任何问题。

非常感谢! :)

【问题讨论】:

【参考方案1】:

3 秒内在 Google 中找到答案:

scale - 可能的值:showall、noborder、exactfit、noscale。 指定 Flash Player 如何缩放 SWF 内容以适应像素区域 由 OBJECT 或 EMBED 标签指定。默认(显示全部)使 整个 SWF 文件在指定区域可见且不变形, 同时保持电影的原始纵横比。边框可以 出现在电影的两侧。 noborder 缩放 SWF 文件以填充 指定区域,同时保持原来的纵横比 文件。 Flash Player 可以裁剪内容,但不会出现失真。 精确匹配使整个 SWF 文件在指定区域可见 而不试图保留原始纵横比。失真可以 发生。 noscale 防止 SWF 文件缩放以适应 OBJECT 或 EMBED 标签。可以进行裁剪。

More info here

编辑:我认为区分大小写取决于浏览器,但遵循 xhtml 标准,您应该始终使用小写。

Edit2:另一方面,scaleModeActionScriptStage 对象的属性,所以它用于设置SWF 电影中的缩放模式,没有嵌入。当您嵌入 swf 时,该参数将被您在 HTML 中设置的内容覆盖。

【讨论】:

那是我写的页面。但它没有回答我的问题。 ;) 网络上到处都是scaleMode 参数。那么有什么区别呢?如果没有区别,什么是正确的(并且是最新的)(也是从 Flash 开发人员的角度来看)?我将编辑我的问题。而且我在使用 HTML5 时不需要 XHTML 标准,但无论如何都要感谢。 :) 对不起,我一开始误会你了。我已经编辑了我的答案。 在 2 秒内找到答案。【参考方案2】:

如果您通过 ActionScript 设置缩放模式,则使用 Stage 对象的 scaleMode 属性。如果您通过 javascript 或 HTML 标记设置它,则在 <param> 节点中使用 scale

关于大小写,Adobe 的 scaleMode (ActionScript) 文档从我记事起就一直使用驼峰式大小写(至少在过去 6 年)。 current AS3 docsclearly use camel case。 article linked above 指的是 JavaScript/HTML 中的 scale,而不是 ActionScript。看来全线骆驼案是最安全的途径,相信一定会支持的。

这里有一些使用 SWFObject 的scale 示例:

SWFObject 动态:

var flashvars = ;
var params =  scale: "noScale" ;
var attributes = ;
swfobject.embedSWF("/swf/sample.swf", "flash", "100%", "100%", "9", false, flashvars, params, attributes);

SWFObject 静态:

<object id="flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  >
  <param name="movie" value="/swf/sample.swf" />
  <param name="scale" value="noScale" />
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="/swf/sample.swf"  >
  <param name="scale" value="noScale" />
  <!--<![endif]-->
    <p>Place fallback content here for users who don't have Flash<p>
  <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>

比例选项的示例和说明:

http://learnswfobject.com/advanced-topics/100-width-and-height-in-browser/

【讨论】:

以上是关于SWF 对象参数 - scale 或 scaleMode的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 php readfile 将 swf 加载到另一个 swf 并保留 url 参数?

JW Player参数详解

错误 #1009:无法访问空对象引用 AS3 项目的属性或方法

帧速率SWF对象

如何获取 swf 文件的每个对象的名称和类型?

强大的jquery上传插件SWF版Uploadify参数详解