如果你还在为插入Flash Object 苦恼,快来试试这个!
来源:互联网 发布:男装网红淘宝店推荐 编辑:程序博客网 时间:2024/05/16 01:23
大家在项目中常常要插入Flash Object,一般一个FlashObject在HTML中代码是这样的:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8"
width="320" height="220"
id="theMediaPlayer">
<param name=movie value="mediaplayer.swf">
<param name=quality value="high">
<param name=bgcolor value="#FFFFFF">
<param name=allowFullScreen value="false">
<param name=swLiveConnect value="true">
<param name=allowScriptAccess value="sameDomain">
<param name="FlashVars" value="file=mixmediaplaylist.xml&width=320&height=220&displaywidth=320&displayheight=200&autostart=true&backcolor=0xFFFFFF">
<embed type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"
width="320" height="220" bgcolor="#FFFFFF"
name="theMediaPlayer"
src="mediaplayer.swf"
flashvars="file=mixmediaplaylist.xml&width=320&height=220&displaywidth=320&displayheight=200&autostart=true&backcolor=0xFFFFFF">
</embed>
</object>
OBJECT和EMBED标签的问题
看起来似乎挺复杂,首先是一个<object>对象,接着是很多的param,完了又出来一个<embed>对象,跟着一大堆的参数。其实这样写是因为兼容性的问题。OBJECT标签是用于windows平台的IE浏览器的,而EMBED是用于windows和Macintosh平台下的Netscape Navigator浏览器以及Macintosh平台下的IE浏览器。windows平台的IE利用Activex控件来播放flash而其它的浏览器则使用Netscape插件技术来播放flash。
具体可以参考下面的文档:
Flash OBJECT和EMBED标签详解
Flash OBJECT and EMBED tag attributes
Adobe 的官方文档:Macromedia Flash OBJECT and EMBED tag syntax
参考文档我们就可以通过各种方法向客户段按照正确的格式输出FlashObject的代码了,但字符串的拼接操作枯燥又容易出错,代码可读性还不好,有什么更好的办法吗?
在这里要特别提一下的就是FlashObject的FlashVar参数,很多应用都要靠着这个参数传入大量有复杂数据格式的数据对(pair),构建这个参数往往是最麻烦的。
关于FlashVar: Using FlashVars to pass variables to a SWF
使用<swfobject>
SWFObject是一种易用的、符合标准的在网页中嵌入flash对象的方法,你只需要在网页中引用一个小巧的js文件。
使用SWFObject就可以避免因为不熟悉Flash Object复杂的语法和选项带来的浏览器不兼容的问题。
使用<swfobject>的大体代码示范如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>SWFObject v2.0 - step 3</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.registerObject("myId", "9.0.0", "expressInstall.swf");
</script>
</head>
<body>
<div>
<object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
<param name="movie" value="myContent.swf" />
<!--[if !IE]>–>
<object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">
<!–<![endif]–>
<p>Alternative content</p>
<!–[if !IE]>–>
</object>
<!–<![endif]–>
</object>
</div>
</body>
</html>
SWFObject 首页: http://code.google.com/p/swfobject/
对于FlashVar参数的传入,SWFObject提供了专门的函数,用起来非常方便,代码可读性也强了。
Opensource 的 swfobject .net control
下载地址:http://www.arjones.net/opensource/swfobject.net/
这还有一个:http://www.junasoftware.com/servercontrols/swfobject.net.aspx
商业Flash object control
实际上,对于ASP.NET的开发者,使用<swfobject>也还是有很多不方便的地方,没有强数据类型,参数传入都要转为字符串,还有做一些拼接的工作,代码还是不优雅。有没有更好的办法呢?
ASPNetFlash WebControl
ASPNetFlash WebControl 可以让你轻松的把一个Adobe Flash文件插入到你的ASP.NET web forms里面。
ASPNetFlash的网址:http://www.aspnetflash.com/aspnetflash_Download_Free_Trial.aspx
下载安装后的效果:
真的不错,基本的属性设置,还有对FlashVar的数据绑定支持。
如果你还在为插入Flash Object 苦恼,快来试试这个!
参考文档:
List Apart上的一篇文章:http://www.alistapart.com/articles/flashembedcagematch/
- 如果你还在为插入Flash Object 苦恼,快来试试这个!
- 如果你还在为插入Flash Object 苦恼,快来试试这个!
- 你还在为浏览器兼容性问题苦恼吗
- 还在为码字排版苦恼?试试辅助写Blog的利器:Markdown
- 还在用cornerRadius设置圆角么?快来试试效率更高的新方法。
- 还在为 Ubuntu 联网苦恼?
- 你还在为二次开发而烦恼吗?快来体验全新的1.5次软件开发
- 如果你对MySQL数据库还停留在这个印象,那么你就o
- 如果你错过了这个 你还会不会后悔???
- 你还在愁找不到 Api 接口吗?快来 star 吧!
- 还在用Toast?你Out啦,试试Snackbar吧!
- 还在用Toast?你Out啦,试试Snackbar吧!
- 如果你还在彷徨,看看这些...
- 你的网站还在为备案而烦脑吗,我来为你解决
- 在这个信息化时代,你还为隐私保密文件销毁而发愁么
- 如果你20秒钟还看不懂这个短信的话,说明你还纯洁!?
- 如果你还在用STM32F103,那么你OUT了
- 如果你还在用STM32F103,那么你OUT了
- Seam - 无缝集成 JSF,第 3 部分: 用于 JSF 的 Ajax
- struts2工作流程
- linux安装软件原理,系统结构
- 来了
- APACHE 2.2.8+TOMCAT6.0.14配置负载均衡
- 如果你还在为插入Flash Object 苦恼,快来试试这个!
- ASP.NET2.0裡如何讓DataList做分頁瀏覽的功能 修改版
- 门户网站运维
- 基本 LDAP 语法
- 在全局函数中得到窗口(基于对话框)的指针
- 汉字拼音声母计算类
- Linux内核是如何工作的
- SQL的一些问题学习
- 如何播放.flv文件