`
guobinperfect
  • 浏览: 48582 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

网页中嵌入flash的方法

 
阅读更多
一、传统的方法。




<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="middle">
<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="middle" 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 上,后来又经过了几次完善:



<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
•UFO - Unobtrusive Flash Objects
•Macomedia(现在是Adobe了..)提供的脚本[这里]和[这里]。



我 SWFObject 用的比较多,就挑它来说一些这种方法的优点:
•IE中没有讨厌的虚框问题了。
•提供了完善的版本检测功能,如果版本不够则显示其他东西,比如图片或文字。
•易于使用,只要在页面头加载一个 .js 文件,然后 HTML 写一个容器,里面放普通的文本或图片(用于无法显示 Flash 时显示),最后用脚本来替换这个元素里面的内容为 Flash。
•可以通过验证——当然这个不是重点,只是顺带效果罢了。



四、我的结论。

现阶段用 JS 嵌入 Flash 是最完美的方法,虽然这法子这也是由于浏览器的种种问题而作出的妥协。

但它在保证 Flash 功能的前提下还利用 JS 提供了额外的好处,再者又已经有人写了很完善的嵌入脚本可以方面地下载使用(推荐 SWFObject),我们还有什么理由不用它呢?



SWFObject 那网页是英文的,这里写个简单的用法教程:
•下载它的.js文件,在这里: http://blog.deconcept.com/swfobject/swfobject1-4.zip (如果链接失效可能是版本有更新,请用上面给出的地址去主页下载最新版本)
•在你的 HTML 页面头部<head>区嵌入这个脚本文件:<script type="text/javascript" src="swfobject.js"></script>
•在你的 HTML 中写一个用来放 Flash 的容器,比如<div>,并随便给一个 id 比如 flashcontent。然后在里面放上你的替换内容。
<div id="flashcontent">
这里放替换内容,用来在 Flash 无法显示时显示。
</div>
•使用脚本替换这个内容:


<script type="text/javascript">
    var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699");
//参数意思: 地址,Flash 的 id(不是容器的 id),宽,高,版本需求,背景颜色
//这是最基本的,如果你要高级的设置,就仔细翻翻说明吧。
   so.write("flashcontent");
</script>

这脚本可以写在 HTML 中也可以写在外部 .js 文件中。
•OK
分享到:
评论

相关推荐

    网页中嵌入Flash播放器

    本主题将深入探讨“网页中嵌入Flash播放器”的相关知识点。 首先,我们来理解什么是Flash。Adobe Flash是一种矢量图形和多媒体平台,它允许开发人员创建交互式富媒体内容,包括游戏、动画和应用程序,这些内容可以...

    网页中嵌入Flash视频

    本文将深入探讨如何在网页中嵌入Flash视频,并基于提供的"SWFobject.js"文件进行解析。 首先,让我们理解SWFobject是什么。SWFobject是一个开源JavaScript库,它的主要功能是帮助开发者在HTML页面中无缝地插入和...

    网页中插入flash

    本文将深入探讨如何在网页中插入Flash,同时提供一个实例教程的概述。 1. Flash简介: Flash是由Adobe公司开发的一款多媒体创作工具,它允许设计师和开发者创建丰富的互联网应用程序、互动内容和动画。尽管现在...

    (C#)在asp网页中插入flash

    在ASP(Active Server Pages)网页中插入Flash是一个常见的需求,特别是在早期的网页设计中,Flash被广泛用于创建动态效果和交互式内容。本教程将基于C#编程语言,讲解如何在ASP网页中集成Flash。 首先,我们需要...

    网页嵌入flash示例

    网页嵌入Flash示例主要涉及的是在HTML页面中集成Adobe Flash内容的技术,这对于早期的网页交互设计至关重要。Flash作为一种流行的多媒体平台,曾广泛用于创建动画、游戏和网页元素,为用户提供丰富的动态体验。本...

    网页中插入Flash动画以及设置透明度

    在网页设计中,为了增强互动性和视觉效果,经常需要插入Flash动画。Flash动画不仅可以提供动态内容,还能实现交互性操作,让用户体验更加丰富。本文将详细介绍如何使用SWFObject库来向网页中插入Flash动画,并调整其...

    使用Dreamweaver8在网页中插入Flash视频.pdf

    本文的知识点主要围绕如何使用Dreamweaver 8这款网页设计与开发工具,在网页中插入Flash视频的技术方法和步骤进行详细阐释。Flash视频是Adobe Flash Player播放的一种视频格式,它广泛应用于网络动画和视频内容的...

    网页中插入flash透明背景图代码

    #### 一、网页中插入Flash透明背景图的重要性 在网站设计领域,使用Flash作为网页元素可以极大地提升网站的整体美观度与交互性。特别是当使用具有透明背景的Flash图像时,可以使得网站的设计更加丰富多彩且富有创意...

    网页中flash免激活嵌入脚本

    相信有很多人在网页中嵌入FLASH后,在网页中打开时需要点击激活才能播放,那么您可以使用我上传的此款FLASH脚本,可以完美的解决你遇到的问题! 使用方法: 1.首先在头里引用此脚本,如:&lt;head&gt;&lt;script src="/js/...

    网页中插入flash时钟代码(白底蓝色钟面)

    ### 知识点一:网页中插入Flash时钟的基本概念 在互联网发展的早期阶段,Flash是一种广泛使用的多媒体框架,用于创建动画、视频和复杂的应用程序。由于其强大的交互能力和丰富的视觉效果,Flash常被用于网页设计中...

    自动抓取网页中的flash

    本文将详细讲解如何自动抓取网页中的Flash内容,以及相关的技术背景和实现方法。 首先,理解“自动抓取网页中的Flash”意味着我们需要从网页源代码中定位并提取出Flash对象。Flash内容在网页上通常以SWF文件形式...

    一个简单的网页,嵌入了flash

    Flash是一种用于创建动画、交互式内容的技术,过去在网页设计中广泛使用。在HTML中嵌入Flash,可以使用`&lt;object&gt;`或`&lt;embed&gt;`标签。然而,需要注意的是,由于Flash的性能和安全性问题,以及现代浏览器对HTML5技术的...

    flash插入网页代码参考

    本文将深入探讨如何将Flash内容插入到网页中,以及相关的知识点。 一、Flash简介 Flash是由Adobe公司开发的一种矢量图形和多媒体软件,它允许设计师和开发者创建动画、游戏、应用程序和互动内容。Flash文件通常以`....

    网页中屏蔽flash右键

    3. **SWF Object**:SWF Object是一种在HTML中嵌入Flash的标准方法。库可能修改了SWF Object的配置,使得在创建Flash时,包含了禁止右键的设置。 4. **CSS和JavaScript混合**:虽然直接的JavaScript事件监听可能对...

    ASP.NET网页中嵌入Flash动画的代码

    ### ASP.NET网页中嵌入Flash动画的技术解析 随着互联网技术的发展和用户对网站体验要求的提高,越来越多的开发者希望通过在ASP.NET网页中嵌入Flash动画来提升网站的吸引力和交互性。本文将详细介绍如何在ASP.NET...

    网页FLASH 首页FLASH

    2. **多媒体集成**:Flash可以轻松嵌入音频和视频,使得网页内容更加丰富。 3. **跨平台**:在Flash Player的支持下,Flash内容可以在多个操作系统和浏览器上运行,实现广泛的兼容性。 然而,随着时间的发展,Flash...

    在页面中插入Flash

    #### 二、ASP.NET页面中插入Flash的方法 在ASP.NET中插入Flash主要通过HTML的`&lt;object&gt;`或`&lt;embed&gt;`标签来实现。下面将详细介绍这两种方法。 ##### 1. 使用标签 `&lt;object&gt;`标签用于定义嵌入文档中的对象,如图像...

    如何下载网页中的flash SWF文件

    然而,由于Flash文件通常是嵌入网页中播放的,很多用户不知道如何将这些吸引人的Flash SWF文件下载保存到本地。本文将详细介绍几种常用的下载Flash SWF文件的方法,帮助读者轻松解决这一问题。 #### 一、查看源文件...

    前端网页播放flash文件(DEMO)

    在提供的DEMO中,"flash-player"可能是一个简单的Flash播放器示例,它可能包含了如何在网页中嵌入和控制Flash文件的基本代码。学习这个DEMO可以帮助你理解过去的Flash播放机制,但同时也要注意向现代Web标准过渡,以...

Global site tag (gtag.js) - Google Analytics