在我的工作中,我一直将SWF文件嵌入到HTML文档中。我经常问自己一些事情:
是scaleMode="noscale"
还是scale="noscale"
?这些值是否区分大小写?我看到了一些代码片段,如scale="noScale"
等。
ActionScript中的语法如何?它是Camelcase noScale
吗?我不关心HTML标准我只想知道它是如何从Flash开发人员的角度来看的。
任何人都有线索?我经常检查过Google很多次,但我从来没有找到类似描述的内容。我刚刚找到了描述参数和值的Adobe页面,但这并没有回答我的任何问题。
非常感谢! :)
答案 0 :(得分:8)
在3秒内在谷歌找到答案:
比例 - 可能的值:showall,noborder,exactfit,noscale。 指定Flash Player如何缩放SWF内容以适合像素区域 由OBJECT或EMBED标记指定。默认(显示全部)使 整个SWF文件在指定区域中可见而没有失真, 同时保持电影的原始宽高比。边界可以 出现在电影的两面。 noborder缩放SWF文件以填充 指定区域,同时保持原有的长宽比 文件。 Flash Player可以裁剪内容,但不会发生失真。 exactfit使整个SWF文件在指定区域中可见 而不试图保持原始的宽高比。失真可以 发生。 noscale可防止SWF文件缩放以适应该区域 OBJECT或EMBED标签。可以进行裁剪。
编辑:我认为区分大小写取决于浏览器,但遵循xhtml标准,您应该始终使用小写。
另一方面, Edit2:scaleMode
是Stage
中ActionScript
对象的属性,因此它用于在SWF影片中设置缩放模式,即未嵌入。当您嵌入swf时,该参数将覆盖您在HTML中设置的内容。
答案 1 :(得分:2)
如果您是通过ActionScript设置缩放模式,则使用scaleMode
对象的Stage
属性。如果您是通过JavaScript或HTML标记进行设置,则可以在scale
节点中使用<param>
。
关于大小写,Adobe的scaleMode
(ActionScript)文档在我记忆中(至少在过去的6年中)始终使用驼峰案例。 current AS3 docs clearly 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 static:
<object id="flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%">
<param name="movie" value="/swf/sample.swf" />
<param name="scale" value="noScale" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="/swf/sample.swf" width="100%" height="100%">
<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/