<object classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="obj1" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" border="0" width="160" height="160">
<param name="movie" value="http://www.d618.com/蝈仔.swf">
<param name="quality" value="High">
<embed src="http://www.d618.com//蝈仔.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="obj1" width="160" height="160">
</object>
这是个插入flash代码,object是一个窗体代码,里面放的是flash文件以及加载播放器
里面有个macromedia的网址,这个是播放flash所需要的不要改他,只修改param里面的信息就可以了其中name不可以重复,这里随便改名字,后面跟的是swf的路径,也可以是相对路径,在修改下flash的宽和高。很简单
传统的方法
view plaincopy to clipboardprint?
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/
swflash.cab#version=7,0,0,0" width="550" height="400" id="Untitled-1" align="center">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="mymovie.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<embed src="mymovie.swf" quality="high" bgcolor="#ffffff"
width="550" height="400" name="mymovie" align="center"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
这方法是使用 object 和 embed 标签来嵌入,细心的会发现,object 的很多参数和 embed 里面的很多属性是重复的,为什么这样做?为了浏览器兼容性,有的浏览器支持 object,有的支持 embed,这也是为什么要修改 Flash 的参数时两个地方都要改的原因。这种方法是 Macromedia 一直以来的官方方法,最大限度的保证了 Flash 的功能,没有兼容性问题。但是它现在不那么好用了:
无法通过验证,由于为了兼容性而嵌入的 embed 标签是不符合 W3C 的规范的。当然,如果你不在乎什么规范不规范,另当别论。
微软由于种种原因,在 sp2 后限制了 IE 的 ActiveX 的使用模式,就是在页面中的 ActiveX 有一个虚框,需要用户点击一次才能正常交互。Flash是作为一个 ActiveX 嵌入到网页中的,所以它也会受牵连,只有通过 JS 嵌入 Flash 才能解决这个问题。
没有 Flash 版本检测,如果版本浏览器的flash插件版本不够,或者不能正常显示你的 swf 文件,或者会弹出一个 ActiveX 的确认安装的框——这个框对很多用户来说是很恐怖的。
只用 object 的方法
这种方法的名字叫做 Flash satay,最早是2002年由 Drew McLellan 发表在 A List Apart 上,后来又经过了几次完善:
view plaincopy to clipboardprint?
<object type="application/x-shockwave-flash
data="c.swf?path=movie.swf" width="400" height="300">
<param name="movie" value="c.swf?path=movie.swf" />
<img src="noflash.gif" width="200" height="100" alt="" />
</object>
这方法没 embed 了,可以通过验证,是标准的嵌入 Flash 的方法,浏览器兼容性也不错,看起来几乎完美,不过还是有问题的:
需要一个 holder swf 来加载你的目标 swf 以保证 IE 中的 stream 能力,如果你需要通过 flashvars 来传参,或者和页面的 JS 交互,会很麻烦。
同上面第二点,ActiveX的虚框问题。
继续同上没有版本检测
还是有少数用户代理(比如一些版本的 safari 和一些屏幕阅读器)不认这种方式,有 bug。
用JS嵌入的方法
用JS嵌入就是各有各的嵌入方法了,有嵌得好的有嵌得不好的。有人用 document.write 直接写,这法子说实话不大好,感觉 hack 成分多了,有点为了验证而验证的意思,而且没有体现出什么 JS 的优势。我觉得一个好的 JS 嵌入脚本,在保证 Flash 应有功能的基础上,JS 的优势应该要有版本检测,要能很好解决可访问性问题(也就是用户在无法浏览 Flash 内容或禁用 JS 的时候应该如何处理的问题),要易于重复使用。
我知道的比较常见的 JS 嵌入方法有以下几个:
• SWFObject
• Macomedia(现在是Adobe了..)提供的脚本
• UFO - Unobtrusive Flash Objects
我 SWFObject 用的比较多,就挑它来说一些这种方法的优点:
IE中没有讨厌的虚框问题了。
提供了完善的版本检测功能,如果版本不够则显示其他东西,比如图片或文字。
易于使用,只要在页面头加载一个 .js 文件,然后 HTML 写一个容器,里面放普通的文本或图片(用于无法显示 Flash 时显示),最后用脚本来替换这个元素里面的内容为 Flash。
可以通过验证——当然这个不是重点,只是顺带效果罢了。
结论
现阶段用 JS 嵌入 Flash 是最完美的方法,虽然这法子这也是由于浏览器的种种问题而作出的妥协。但它在保证 Flash 功能的前提下还利用 JS 提供了额外的好处,再者又已经有人写了很完善的嵌入脚本可以方面地下载使用(推荐 SWFObject),我们还有什么理由不用它呢?
SWFObject 那网页是英文的,这里写个简单的用法教程:
下载它的.js文件,在你的 HTML 页面头部区嵌入这个脚本文件:
<script type="text/javascript" src="swfobject.js"></script>
在你的 HTML 中写一个用来放 Flash 的容器,比如,并随便给一个 id 比如 flashcontent。然后在里面放上你的替换内容。
view plaincopy to clipboardprint?
1. <div id="flashcontent">
2. 这里放替换内容,用来在 Flash 无法显示时显示。
3. </div>
使用脚本替换这个内容:
view plaincopy to clipboardprint?
1. <script type="text/javascript">
2. var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
3. //参数意思: 地址,Flash 的 id(不是容器的 id),宽,高,版本需求,背景颜色
4. //这是最基本的,如果你要高级的设置,就仔细翻翻说明吧。
5. so.write("flashcontent");
6. </script>
这脚本可以写在 HTML 中也可以写在外部 .js 文件中。
注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。
分享到:
相关推荐
AC-OETags.js AC_FL_RunContent html嵌入 flash开发..
HTML嵌入Flash Media Playback控件是一种常见的技术,用于在网页中播放流媒体内容。Flash Media Server(FMS)是Adobe提供的一个服务器平台,专门用于处理流式传输的多媒体数据,如视频和音频。通过在HTML页面中嵌入...
在ASP.NET中插入Flash主要通过HTML的`<object>`或`<embed>`标签来实现。下面将详细介绍这两种方法。 ##### 1. 使用标签 `<object>`标签用于定义嵌入文档中的对象,如图像、音频或视频等。在ASP.NET页面中插入Flash...
- 描述中的"在ppt中插入flash的软件.exe"可能是指一个第三方工具,用于帮助在PPT中嵌入并播放SWF文件。这类工具通常能提供更稳定的Flash播放体验,比如控制播放、暂停、全屏等。 5. **注意事项**: - 插入Flash...
本作业的重点在于如何在静态HTML页面中插入Flash内容。 首先,理解HTML的基本结构至关重要。一个简单的HTML页面包括头部(`<head>`)、标题(`<title>`)、主体(`<body>`)等部分。在主体部分,我们可以通过`...
在Windows Presentation Foundation (WPF) 中嵌入Flash技术,主要是为了让WPF应用程序能够展示和交互与Adobe Flash内容。这项技术对于开发跨平台、富媒体应用非常有用,因为Flash在过去的互联网环境中广泛用于动画、...
4. HTML嵌入:学习编写HTML代码以正确显示Flash内容。 5. 浏览器兼容性处理:了解如何为不支持Flash的浏览器提供备选内容。 这些知识对于开发早期的交互式网页和富媒体应用至关重要,虽然随着HTML5的普及,Flash已...
3. **HTML嵌入代码**:为了在网页上显示SWF文件,需要编写HTML代码。传统的嵌入方式使用`<object>`和`<embed>`标签。例如: ```html <!--[if !IE]>--> <object type="application/x-shockwave-flash" data=...
- HTML嵌入Flash:了解如何在HTML页面中使用`<object>`或`<embed>`标签将SWF文件插入并使其正常工作。 - 用户交互:可能包括点击按钮改变旋转方向、设置自动播放间隔等交互功能的实现。 - 图像优化:考虑到Web性能,...
SWFobject是一个开源JavaScript库,它的主要功能是帮助开发者在HTML页面中无缝地插入和控制Flash内容,包括视频。由于Flash本身不支持自动检测浏览器的兼容性,SWFobject解决了这个问题,可以优雅降级,当用户的...
这个脚本能够检测用户是否安装了Flash Player,如果已安装,则会插入Flash,否则提供一个替代的内容或者提示用户安装Flash Player。 在实际应用中,考虑到现代浏览器和移动设备对Flash的不支持,开发者通常会使用...
总之,SWFObject是解决HTML插入Flash的兼容性问题的有效工具,它简化了代码,提升了用户体验,同时也关注了网页的可访问性和标准合规性。随着Web技术的发展,虽然如今Flash已经逐渐被淘汰,但SWFObject所体现的解决...
HTML的`<embed>`标签是最早的用来嵌入外部内容的方法之一,包括Flash。以下是一个基本的示例: ```html <embed src="your_flash_file.swf" width="640" height="480" quality="high" pluginspage=...
在Excel中插入Flash时钟是一种将动态元素引入电子表格的方法,可以增强工作表的互动性和视觉效果。以下是如何在Excel中实现这一功能的详细步骤: 1. 准备Flash时钟文件: 首先,你需要一个SWF格式的Flash时钟文件。...
总的来说,"基于HTML播放Flash"涉及到HTML页面设计、Flash内容的嵌入以及可能的VC6应用程序开发。虽然Flash在当今已经不再流行,但在过去,它为互联网带来了丰富的多媒体体验,其技术和历史对我们理解Web发展具有...
因此,尽管Flash助手V1.1可以让你在PPT中插入Flash,但为了兼容性和长期的使用,建议考虑将Flash内容转换为HTML5或其他现代格式。 此外,"轻松工具箱8.21"可能是一个与Flash助手相关的工具集合,包含了其他实用功能...
### Web页中插入Flash动画代码知识点详解 #### 一、Flash动画在网页中的应用背景 在Web开发领域,Flash曾是一种广泛使用的多媒体技术,用于在网页上播放动画、视频和其他交互式内容。随着HTML5的发展及其对多媒体...
5. **HTML配置**: "HTML嵌套Flash播放视频.txt"很可能是指导如何在HTML文件中正确嵌入Flash播放器的文本文件。它可能会包含具体的HTML代码示例,教我们如何设置`object`或`embed`标签,以及如何传递视频文件路径给...
在C#中插入Flash涉及到的是Windows Forms应用程序开发中的ActiveX技术。Flash是由Adobe公司开发的一种交互式矢量图形和多媒体播放器,它可以通过ActiveX控件在Web浏览器或桌面应用程序中展示。以下将详细介绍如何在...