- 浏览: 296468 次
- 性别:
- 来自: 福建龙岩
文章分类
- 全部博客 (201)
- JavaSE (20)
- Struts1 (7)
- Struts2 (0)
- Hibernate (0)
- Spring (2)
- Flex (0)
- Ajax (1)
- web (20)
- Database (17)
- jsp/servlet (1)
- javascirpt (14)
- freemarker (2)
- jquery (6)
- SEO优化 (26)
- JSP&Servlet (1)
- PHP (32)
- CSS (12)
- Magento (9)
- 网站性能优化 (3)
- Flash (1)
- 生活 (3)
- 网站建设 (15)
- ZenCart (12)
- web自动化 (1)
- 企业应用 (1)
- LINUX (4)
- 字符集 (2)
- Delphi (1)
- C# (4)
- 移动互联网 (1)
- Vim (1)
最新评论
-
谷超:
第一次搞freemarker,test.ftl这个文件应该放在 ...
freemarker入门例子 -
zyhui98:
file_get_contents用不了
通过IP获取地理位置 -
ljx0517:
那ff下无法获取 路径怎么办呢
common-fileupload中FileItemStream的getName()方法 -
kaixuan_166:
多谢,刚好用到
通过Google获取天气预报信息 -
lufengdie:
借用下,嘿嘿··
java查询IP物理地址
SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块 实现原理 SWFObject的使用是非常简单的,只需要包含 swfobject.js这个js文件,然后在DOM中插入一些简单的JS代码,就能嵌入Flash媒体资源了。 下面是一个最简单的范例: <script type="text/javascript" src="swfobject.js"></script> <div id="flashcontent"> This text is replaced by the Flash movie. </div> <script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699"); so.write("flashcontent"); </script> 让我们看看这些代码是如何工作的 <div id="flashcontent">[...]</div> 首先,我们要为SWF资源预留一个HTML结点。这个HTML结点内的所有内容都会在客户端被Flash资源替换,当客户端没有安装Flash播放器的时候,这些内容会显示出来。这一特色在SEO以及对用户体验方面非常有必要。 var so = new SWFObject(swf, id, width, height, version, background-color [, quality, xiRedirectUrl, redirectUrl, detectKey]); 创建一个新的SWFObject实例,并且传入一下参数: swf - SWF文件路径 id - 您为这个SWF文件分配的id值,它将用于给embed与object标签设定name属性,以便于可以支持swliveconnect的功能,如动态传入变量 width - 宽度 height - 高度 version - FlashPlayer需要的版本号,它可以详细到 '主版本号.小版本号.细节',例如:"6.0.65"。一般地,我们只需传入主版本即可,例如:"6"。 background-color - Flash资源的背景色,16进制格式 此外,还有如下可选参数: quality - 画面质量,默认为"high"。 xiRedirectUrl - 详见ExpressInstall相关 redirectUrl - 没有安装相应版本的播放器后自动跳转的目标地址 detectKey - 这是当忽略检测时,SWFObject将去url地址中查找的变量,默认值为“detectflash”,后续有详细介绍 so.write("flashcontent"); 将Flash资源应用到DOM里,在浏览器显示出来。 细节 SWFObject 的灵活性非常好。您完全可以事先写好HTML的其他部分,最后再回过头来添加Flash内容。这样可以确保在客户端没有Flash的情况下,用户不会一无所获;也可以确保针对搜索引擎,做了什么样的关键词优化。您完全不用像以前那样担心客户端的各种状况 SWFObject兼容当前各种主流浏览器,如:PC上的IE5/5.5/6, Netscape 7/8,Firefox, Mozilla, and Opera。Mac上的IE5.2, Safari, Firefox, Netscape 6/7, Mozilla, and Opera 7.5+,各种浏览器的后续版本也会继续支持 SWFObject检测Flash播放器版本从3开始到最新的版本号,而且也消灭了IE中“激活”的麻烦。这里有相关背景。 SWFObject可以方便地检查版本细节,例如我们需要v.6.0 r65 (or 6,0,65,0) 来处理SWF资源,就可以添加如下代码: var so = new SWFObject("movie.swf", "mymovie", "200", "100", "6.0.65", "#336699"); SWFObject的版本检测可以人工忽略。如果在特定环境下您不希望SWFObject检测版本号,那么只需要传递一个参数在HTML页面中,就可以了。SWFObject可以捕获这个参数并且跳过检测,直接写入Flash嵌入代码到DOM中。用于忽略版本检测的变量名是“detectflash”,以下是一个例子: <a href="mypage.html?detectflash=false">Bypass link</a> SWFObject 范例 以上我们接触到的范例都最基础的,接下来我们列举一些其他功能,尤其是传入参数、变量这些使用频率较高的行为。 传入Flash内联参数的简单范例 <script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "200", "100%", "7", "#336699"); so.addParam("quality", "low"); so.addParam("wmode", "transparent"); so.addParam("salign", "t"); so.write("flashcontent"); </script> 这里可以看到Flash支持的内联参数列表:full list of the current parameters and their possible values(adobe.com官方资源) 采用"Flashvars"参数传入变量 用Flashvars是在预加载Flash时传入数据的最佳做法,语法格式与GET变量串非常类似,如:variable1=value1&variable2=value2&variable3=value3SWFObject帮助您将这项工作变得更加明确化 <script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699"); so.addVariable("variable1", "value1"); so.addVariable("variable2", "value2"); so.addVariable("variable3", "value3"); so.write("flashcontent"); </script> 这些变量将会保存在_root这个MovieClip对象里。 SWFObject还可以方便地直接从URL中接受参数传入Flash中,例如你有这样一个URL:http://www.example.com/page.html?variable1=value1&variable2=value2。采用getQueryParamValue()方法你就可以轻松获取这些参数,并将它们传入Flash,例如: <script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "200", "100", "7", "#336699"); so.addVariable("variable1", getQueryParamValue("variable1")); so.addVariable("variable2", getQueryParamValue("variable2")); so.write("flashcontent"); </script> getQueryParamValue()方法同样可以获取JavaScript的Location对象的hash值“location.hash”来与swf内部进行通信。这里是一个采用SWFObject的应用程序,其中用到了location.hash对象:链接地址 在SWFObject中应用Express Install(利用官方自动升级接口) SWFObject全面支持AdobeFlash播放器的自动升级功能(从6.0.65起的FlashPlayer支持在swf内部自动升级!),这样用户完全不用离开您的网页就能完成播放器的升级了。 首先,上传官方的expressinstall.swf到您的服务器上,然后使用useExpressInstall方法指定这个swf文件的地址就可以了,例如: <script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "200", "100", "8", "#336699"); so.useExpressInstall('expressinstall.swf'); so.write("flashcontent"); </script> 您可以安装一个低版本的Flash播放器然后访问这个页面看到效果 在SWFObject原文件压缩包中您可以找到具体的使用细节,您可以自己定制ExpressInstall的流程。 如果您的Flash影片在弹出窗口中,或者您希望用户在完成了ExpressInstall后重定向到其他地址,你可以采用xiRedirectUrl属性,来自动完成这一步骤。例如: <script type="text/javascript"> var so = new SWFObject("movie.swf", "mymovie", "200", "100", "8", "#336699"); so.useExpressInstall('expressinstall.swf'); so.setAttribute('xiRedirectUrl', 'http://www.example.com/upgradefinished.html'); // must be the absolute URL to your site so.write("flashcontent"); </script> 下载 SWFObject基于MIT License,您可以免费任意使用。 下载 SWFObject 1.5 - Zip 文件, 包含 swfobject.js 和其他范例。 更多链接: 标准Flash嵌入 - 符合XHTML 1.0 Strict.* 全屏Flash嵌入 - 符合XHTML 1.0 Strict.* 含Express Install的标准Flash嵌入 - 从6.0.65起的FlashPlayer才支持此功能 * 页面全部是 text/html格式,不是 application/xhtml+xml. 更多问题可以访问我们的论坛:SWFObject论坛! 独特优势 多年以来,各种各样的Flash播放器版本检测代码层出不穷,包括嵌入脚本也有许多。我们在这一部分针对流行的几种方法进行一个比较。 1) Adobe官方做法 这就是经典的Object标签和Embed标签配合做法,也是目前最常用的做法: <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.adobe.com/go/getflashplayer" /> </object> 虽然是目前最常用的方法,但仍然有一些问题。 缺乏播放器版本检测 没有播放器插件版本检测,用户会获得非常糟糕的体验,他们会在不知情的情况下看到ActiveX插件安装入口,这样会导致大部分用户离开。而且,用低版本播放器播放高版本的swf文件,会导致更多潜在问题,而用户会将一切问题归咎于您的产品 Eolas专利纠纷导致IE的近期发行版中需要进行一次“激活”点击才可以完成和Flash内容的交互。详细内容 不符合XHTML规范 - 在HTML和XHTML中都没有embed标签HTML or XHTML。因为object标签在不同浏览器中的诡异表现,我们不得不用embed标签来完善最终效果。 2) 仅采用Object标签 / Flash satay 这种方法在2002年的A List Apart article出现之后开始大面积流行,这里有两个例子: '仅含Object标签' <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="300" height="120"> <param name="movie" value="http://www.macromedia.com/shockwave/download/triggerpages_mmcom/flash.swf"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <!--[if !IE]> <--> <object data="http://www.macromedia.com/shockwave/download/triggerpages_mmcom/flash.swf" width="300" height="120" type="application/x-shockwave-flash"> <param name="quality" value="high"> <param name="bgcolor" value="#FFFFFF"> <param name="pluginurl" value="http://www.adobe.com/go/getflashplayer"> FAIL (the browser should render some flash content, not this). </object> <!--> <![endif]--> </object> Flash satay <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> 可用性问题 - 采用 Flash Satay 的话, 一些屏幕阅读器会忽略swf内容. Eolas专利纠纷导致IE的近期发行版中需要进行一次“激活”点击才可以完成和Flash内容的交互。详细内容 缺乏播放器版本检测 没有播放器插件版本检测,用户会获得非常糟糕的体验,他们会在不知情的情况下看到ActiveX插件安装入口,这样会导致大部分用户离开。而且,用低版本播放器播放高版本的swf文件,会导致更多潜在问题,而用户会将一切问题归咎于您的产品 早期的的Safari会忽略param标签 - 在这些版本:2.0 (Tiger) 或者 1.3 (Panther) 或者可能 1.2.8 (前Panther) 之前,Safari 完全忽略param 标签。这将会让你的Flashvars等参数无法传入。 3) 'small flash movie on the index page' 检测方法 这个方法会通过在首页放一个swf文件去访问$version 变量来返回版本信息。 问题在于: 内页无检测 - 内页如果不放着这个swf就无法检测 “激活”问题 不符合HTML或者XHTML规范 影响搜索引擎索引排名 4) Adobe官方 Flash Player Detection 模块 Adobe官方这个模块非常不错,然而仍然有一些不足,它采用两种方法来检测 Flash自身检测,如上面提到的"small Flash movie on the index page" - 缺点已经提过了 Javascript - 混乱的代码让你的HTML变得非常难以维护 深入讨论在这里。 5) 用纯粹的JS来检测、嵌入 这种方法看起来不错,但是仍然缺乏规范,而且消耗开发成本 检测不够完善 - 通常只能检测到当前的Flash播放器发行版,而且升级也需要手工参与 增加了 更多 代码 - 难以维护的DOM结构 解决方案太笨重 - SWFObject进行了多次优化,非常轻量
- swfobject.rar (3 KB)
- 下载次数: 3
发表评论
-
三种获取ajax加载的动态内容的方法
2015-06-14 02:04 2541有些网站的比较重要的内容可能会采用javascript动态加 ... -
Jquery 仿新浪首页信息滚动效果1
2012-12-14 11:36 916<!DOCTYPE html PUBLIC &q ... -
eval(function(p,a,c,k,e,d)系列解密javascript程序
2011-01-10 14:50 1601<script> a=62; functi ... -
(转)JavaScript正则表达式收集
2010-11-19 14:33 801匹配中文字符的正则表达式: [u4e00-u9fa5] 评注 ... -
Javascript关于top、clientTop、scrollTop、offsetTop
2010-09-17 10:15 1887网页可见区域宽: document.body.cli ... -
Javascript&CSS实现的下拉框
2010-08-12 18:15 616一款非常好看的下拉框 -
JavaScript函数式编程
2010-07-06 18:27 942函数式编程概念 在那些通过描述 “如何做” 指定解决问 ... -
两种方法调用JavaScript函数
2010-07-06 17:41 972在JavaScript中,有两种调用函数的方式。一般的方式是把 ... -
Javascript的陷阱
2010-07-06 16:33 913条件语句(3个陷阱) ... -
javascript的event.srcElement与event.target
2010-06-23 16:25 1558Javascript event.srcElement可以捕捉 ... -
firefox下如何获取event
2010-06-23 16:08 1451在IE中可以直接使用的event在Firefox下却不能使用, ... -
JS屏蔽flash右键信息
2010-06-18 18:17 947<!DOCTYPE html PUBLIC &quo ... -
可移动div弹出层
2010-05-25 09:59 1357function showTitle(event, ob ...
相关推荐
这个模块的核心功能是通过JavaScript脚本来检测用户的浏览器是否安装了足够版本的Flash插件,以支持播放指定的Flash内容。SWFObject的设计目标是简化Flash媒体的插入过程,同时确保对搜索引擎优化友好,并符合HTML...
在"基于javascript+flash的焦点图五屏"这个项目中,它们被结合在一起,用于创建一个吸引用户注意力的交互式图像展示模块,通常被称为焦点图或者轮播图。这种设计常见于网站的首页,用来展示多个重要信息或产品。 ...
标题中的“一个综合运用flash,photoshop,javascript等知识的博客网站”揭示了这个项目是基于Web技术构建的,特别是涉及到了三个核心组件:Flash、Photoshop和JavaScript。这三个工具在网页设计和开发中占据着重要的...
为了使JavaScript能够与Flash进行通信,我们需要使用一种叫做“External Interface”的机制。Flash Player允许在ActionScript代码中调用JavaScript函数,同时也可以在JavaScript中调用ActionScript方法。通过定义...
《个人网页Flash模块:全面与经典的融合》 Flash技术曾是网页设计中不可或缺的一部分,尤其在个人网页设计领域,它以其动态、互动性以及丰富的视觉效果深受用户喜爱。本资源集合了“个人网页Flash模块A”,是个人...
例如,我们可以通过CSS将Flash嵌入网页,并用JavaScript控制其播放、暂停等行为。同时,为了提高网站的可访问性和搜索引擎优化,可以使用HTML5的`<video>`或`<audio>`标签作为Flash的替代方案。 综上所述,构建一个...
在"基于ASP的闪灵Flash相册模块独立后台版.zip"这个项目中,我们可以推测这是一个利用ASP技术开发的Web应用,主要用于创建一个在线的Flash相册。Flash是一种流行的多媒体创作工具,可以创建丰富的动画和交互内容,...
`SWFObject`能够检测用户是否已经安装了支持的Flash版本,如果支持,就会在页面中插入Flash内容;如果不支持,则可以提供备选的HTML5内容。插入Flash后,通过`ExternalInterface`接口,JavaScript可以与Flash Player...
【基于Flash技术的动画设计实现】的毕业论文主要探讨了如何使用Flash技术来模拟神州六号的发射过程,通过这一实例展示了Flash在动态图形和互动设计中的应用。以下是论文涉及的关键知识点: 1. **Flash技术**:Flash...
本篇将详细讲解如何使用Pyside的QtWebEngine模块来创建一个能够加载并显示Flash内容的网页浏览器。 首先,让我们了解核心组件——QtWebEngine。它是Qt库的一部分,提供了基于Chromium的网络渲染引擎,用于在Qt应用...
【标题】"Flash模块-花"是一个与网页互动元素相关的技术主题,主要涉及Adobe Flash这一曾经广泛用于创建动态内容和交互式网页元素的工具。在网页设计领域,Flash曾是制作动画、游戏以及丰富互联网应用(RIA)的首选...
- 除了基本的文字和图片外,还加入了视频、音频和Flash等多种多媒体元素,这不仅增加了网页的趣味性,也为学生提供了一个平台去探索如何在网页中嵌入这些媒体内容。 #### 二、开发工具与环境 1. **HTML编辑器**:...
6. **SWF加载**: Flex可以加载外部的SWF文件,这样Flash内容可以作为模块嵌入到Flex应用中。通过这种方式,可以实现Flex UI和Flash动画或交互内容的集成。 7. **Flex组件嵌入Flash**: 反过来,虽然不常见,但Flash...
在实际开发中,有一些工具可以帮助简化JSP与Flash的集成,如SWFObject,这是一个轻量级的JavaScript库,用于插入和检测Flash内容。它提供了良好的浏览器兼容性和优雅降级功能,确保即使用户没有安装Flash插件,页面...
4. "Swiff.Uploader.js" - 这可能是一个用于与Flash交互的JavaScript模块,因为Flash在上传大文件时曾经是常见的选择。 5. "fan.js", "Fx.ProgressBar.js" - 可能是Fancyupload的一部分,分别涉及用户界面的特定功能...
总结,"基于ASP的追梦flash企业网站管理模板A系列.zip"是一个结合了ASP动态脚本技术和Flash动态效果的企业网站构建解决方案。它为快速建立专业的企业网站提供了一个基础框架,并可能包含了多种功能和设计风格,适应...
5. **swfobject.js**:这是一个用于检测和嵌入Flash的JavaScript库,由于我们要移除Flash,这个文件在H5上传方案中不再需要。 6. **formvalidator.js**:这可能是用于表单验证的脚本,确保用户上传的文件符合预设的...
2. 媒体支持:Flash不仅能够播放音频和视频,还可以嵌入到网页中,提供流媒体服务。 3. 游戏开发:Flash的低学习曲线和强大的编程能力,使其成为早期网页游戏开发的首选工具。 4. 跨平台性:Flash播放器可以在多个...
标题中的“图片+Flash+电影的JS控件”指的是使用JavaScript技术实现的一种交互式多媒体控件,它能够集成图片、Flash动画以及视频(通常指电影)等多种媒体内容,为网页提供丰富的互动体验。这种控件通常作为一个库...