页面flash对象的使用

虽然用Dreamweaver插入一个flash对象很简单,但有没有对其中对象属性有过了解呢?

<object></object>
用于包含诸如图片(不推荐,请使用<img>)、音频、视频、Java applets、ActiveX、PDF、Flash等

下面来介绍一个基本兼容所有浏览器的写法,看例子中,学属性

<object  type="application/x-shockwave-flash"  data=“path.swf"  width=“800" height=“600”>
    <param name="movie" value=" path.swf " />  <!--注意到这个value的值和前面的data值是一样的-->
     <param name=“…" value=" … " />
     <param name=“…" value=" … " />
    <param name=“…" value=" … " />
    <a href=“go/getflashplayer">
        <img src=“get_flash_player.gif" alt="Get Adobe Flash player" /><!--这里是如果object对象失败显示的内容,提供给你下载player连接-->
    </a>
    …..
</object>
基本的形式如上所示

<obejct>标签属性
id          
name
class
classid        Windows 注册表值 || URL    !HTML5
type        MIME 类型                 
data        Object数据位置       
flash的固定classid :  clsid:D27CDB6E-AE6D-11cf-96B8-444553540000(我们推荐的写法不需要用到这个,太恶心了,我记不住)

兼容IE的一个写法是

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="950" height="203" id="myFlashContent">
		<param name="movie" value="http://img01.taobaocdn.com/tps/i1/T1S1tkXgliy0NtxVjX.swf" />
		<param name="allowfullscreen" value="true" />
		<param name="allowscriptaccess" value="always" />
		<param name="allownetworking" value="all" />
		<param name="flashvars" value="jdata=[{'href':'http://bbs.taobao.com/catalog/thread/154505-5469566.htm','img':'http://img01.taobaocdn.com/tps/i1/T1QmpuXnNjXXXXXXXX-160-170.jpg','text':'淘宝美容馆达人召集令'},{'href':'http://bbs.taobao.com/catalog/thread/154506-5112835.htm','img':'http://img08.taobaocdn.com/tps/i8/T1WvFuXd4dXXXXXXXX-160-170.jpg','text':'我是什么控开招晒客'},{'href':'http://bangpai.taobao.com/group/thread/40046-5062800.htm','img':'http://img07.taobaocdn.com/tps/i7/T1ilFuXb4uXXXXXXXX-160-170.jpg','text':'古典性感清纯?'},{'href':'http://bangpai.taobao.com/group/thread/40046-5543420.htm','img':'http://img08.taobaocdn.com/tps/i8/T1c8FuXeXuXXXXXXXX-160-170.jpg','text':'麻辣老妈S身材'}]" />
		<param name="wmode" value="transparent" />
		<a href="http://www.adobe.com/go/getflashplayer">
			<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
		</a>
		</object>															
</object>

经测试,在ie上有效,在firfox上无效

<object>标签下的子节点<param>是干什么的?


<param>标签属性(Attributes)

name        唯一标识符
value         规定参数的值

<param>是<obejct>的运行时(run-time)配置(只是配置,和<div>啊<form>这些标签不一样,它是用来配置flash对象属性的,非可视化)
因此在使用类似Firebug HTML 修改HTML此节点属性是无效的。
传入的是变量(variables)或参数(parameters)


flash常量属性如下:

movie  :必选,flash文件的存放路径   <param name="movie" value="path.swf">
wmode  :

可选

window        “最顶端”        “独立窗口”    

opaque        “带背景色”        “嵌入”

transparent    “透明背景”        “嵌入”     可能降低动画性能 

默认    window

解决HTML层次问题请使用”嵌入” 的属性。

<param 	name=“ wmode ” 	value=“opaque ”> 		<!--  页面背景没有要求用 -->

<param 	name=“ wmode ” 	value=“transparent ”> 	<!--  页面背景有要求用 -->

flashvars:

可选
发送根级变量(root level variables)给Flash对象
最大64KB字符串容量
&分隔开的name = variable的组合
特殊或/和不可打印字符需要转换。
variable  的值可能 需要   encodeURIComponent
单一一个空格可以用   +  表示
类同   movie.swf ? a=1&b=2


这个属性是我最看不懂的,原因在于我完全不懂flash,经过和qier的讨论,得出一个这样的理解:我们可以把.swf文件(就是flash文件)看作一个java类,flashvars就是向这个类传递了参数,看下面三个例子:

<parm name="flashvars" value="a=1"/>
<param name="flashvars" value="b=2&c=3" />
<param name=“flashvars” value=“jsonData={'a':1,'b':2,'c':3}" /> 
这就像页面的url传参了,例子1是把a的值传给了.swf对象,例子2是把b,c的值传给了.swf对象,而例子3是用了json的数据交换方式传了a,b,c的值给了.swf对象

大家可以运行下这个例子

<html>
	<head>
		<title>flash</title>
	</head>
	<body>
		<object  type="application/x-shockwave-flash"  data="http://img01.taobaocd
n.com/tps/i1/T1S1tkXgliy0NtxVjX.swf"  width="950" height="203" id="myFlashConten
t">
		<param name="movie" value="http://img01.taobaocdn.com/tps/i1/T1S1tkXgl
iy0NtxVjX.swf" />
		<param name="allowfullscreen" value="true" />
		<param name="allowscriptaccess" value="always" />
		<param name="allownetworking" value="all" />
		<param name="flashvars" value="jdata=[{'href':'http://bbs.taobao.com/catalog
/thread/154505-5469566.htm','img':'http://img01.taobaocdn.com/tps/i1/T1QmpuXnNj
XXXXXXXX-160-170.jpg','text':'淘宝美容馆达人召集令'},
{'href':'http://bbs.taobao.com/cata
log/thread/154506-5112835.htm','img':'http://img08.taobaocdn.com/tps/i8/T1WvFuXd
4dXXXXXXXX-160-170.jpg','text':'我是什么控开招晒客'},
{'href':'http://bangpai.taobao.com
/group/thread/40046-5062800.htm','img':'http://img07.taobaocdn.com/tps/i7/T1ilFuXb
4uXXXXXXXX-160-170.jpg','text':'古典性感清纯?'},
{'href':'http://bangpai.taobao.com/gr
oup/thread/40046-5543420.htm','img':'http://img08.taobaocdn.com/tps/i8/T1c8FuXeX
uXXXXXXXX-160-170.jpg','text':'麻辣老妈S身材'}]" />
		<param name="wmode" value="transparent" />
		<a href="http://www.adobe.com/go/getflashplayer">
			<img src="http://www.adobe.com/images/shared/download_buttons/ge
t_flash_player.gif" alt="Get Adobe Flash player" />
		</a>
</object>
	</body>
</html>
这个例子用flashvars的方法向flash对象传了四组参数(用了json数据传递),每组数据里面分别有”href","img","text",这三个变量,我们来看下这个flash源码的主函数,把flash下载下来,用SWFDecompiler4.5查看源码),如图:


allowscriptaccess:

可选
always        
来自任何域都可和当前承载页js通讯。
sameDomain    
只有和Flash对象来源域相同的页面允许js通讯。
never
关闭承载页和Flash对象通讯。
默认sameDomain  (Flash player 9.0.115.0+ )

allowfullscreen:

可选
true        允许Flash对象全屏显示
false        不允许全屏模式
默认值    false
Flash Player 9.0.27.0+


Flash 对象的显示控制参数

play:

可选
true            
false
默认false
加载Flash对象后是否立刻开始播放

loop:

可选
true
false
默认false
播放到最后一帧时是否重新开始播放。

menu:

可选
true        显示完整的菜单
false        仅仅显示设置选项和about选项
默认true
右键点击Flash对象时的右键菜单

quality:

可选
best        
high
autohigh
medium
autolow
low
默认 high
回放期间使用的消除锯齿级别
类似menu为true时“品质”调节

scale:

可选
showall     显示全部    保持原始宽高比
noborder     无边界    保持原始宽高比    
exactfit        适应性填充    不保持原始宽高比
noscale        不缩放    原始高宽
默认showall
可视区域的缩放模式。

salign:

可选
l         按左边对齐
t            按上边对齐
r            按右边对齐
b            按下边对齐
tl        按左上边对齐
tr        按右上边对齐
bl        按左下边对齐
br        按右下边对齐
缩放对齐方式。
缩放时,按照此规则进行贴边对齐,如果有需要则剪掉其他边。

bgcolor:

可选
#RRGGBB    (十六进制 RGB 值)
Flash 对象背景色
当wmode为非    transparent时有效。

devicefont:

可选
true
false
默认false
对于未选定“设备字体”选项的静态文本对象是否仍使用设备字体进行绘制。
Flash包含了3种设备字体

_sans (类似 Helvetica 或 Arial)
_serif (类似  Times Roman)
_typewriter (类似 Courier)


那你也许问,那flash的播放控制按钮在哪?这个还不知道flash对象有没有提供这方面的可视化界面,不过俱我现在所知,是用js调用api接口实现的,再学习……











  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值