- 浏览: 1465403 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
luhouxiang:
写的很不错,学习了
Extjs 模块化动态加载js实践 -
kingkongtown:
如果想改成淘宝后台那样,可以在编辑器批量上传图片呢?
kissy editor 阶段体会 -
317966578:
兄弟我最近也在整jquery和caja 开放一些接口。在git ...
caja 原理 : 前端 -
liuweihug:
Javascript引擎单线程机制及setTimeout执行原 ...
setTimeout ,xhr,event 线程问题 -
辽主临轩:
怎么能让浏览器不进入 文档模式的quirks模式,进入标准的
浏览器模式与文本模式
嵌入:
关于flash嵌入页面这块由于ms的历史原因问题有点乱,根据以下两篇(1 ,2 )介绍有以下四种方式:
1.Adobe 官方 / OE
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="400" height="300" id="movie1"> <param name="movie" value="http://img01.taobaocdn.com/tps/i1/T12MVIXfVNXXXXXXXX.swf"/> <embed src="http://img01.taobaocdn.com/tps/i1/T12MVIXfVNXXXXXXXX.swf" quality="high" width="400" height="300" name="movie" type="application/x-shockwave-flash" width="400" height="300" pluginspage="http://www.macromedia.com/go/getflashplayer"/> </object>
2.SWFObject 静态 / OO
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="300" id="movie2"> <param name="movie" value="http://img01.taobaocdn.com/tps/i1/T12MVIXfVNXXXXXXXX.swf"/> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="http://img01.taobaocdn.com/tps/i1/T12MVIXfVNXXXXXXXX.swf" width="400" height="300"> <!--<![endif]--> <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> <!--[if !IE]>--> </object> <!--<![endif]--> </object>
3.代码最少 O
<object type="application/x-shockwave-flash" data="http://img01.taobaocdn.com/tps/i1/T12MVIXfVNXXXXXXXX.swf" width="400" height="300" id="movie3"> <param name="movie" value="http://img01.taobaocdn.com/tps/i1/T12MVIXfVNXXXXXXXX.swf"/> <a href="go/getflashplayer"> <img src="get_flash_player.gif" alt="Get Adobe Flash player"/> </a> </object>
4.单独使用 embed E
<embed id="movie4" src="http://img01.taobaocdn.com/tps/i1/T12MVIXfVNXXXXXXXX.swf" quality="high" width="400" height="300" name="movie" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"/>
其中单独使用 embed 不可取(太老式?关键是不支持 fallback content ),推荐是object 的方式。
读取:
若允许以上四种方式,要写一个能够读取flash url的通用工具函数,那就要全面考虑了:
1.当前元素是embed ,直接读取 src 即可。
2.当前元素是object ,data是 url,读取 data
3.当前元素是object,还有 name 为 movie 的param,读取该 param 的value。
4.当前元素下有嵌套的object或embed,依次处理。
另一方面 ie 下需要注意的是
1.ie 下取不到 object 内嵌套的 embed 元素。
2.当动态生成的flash尚未插入文档时,这时在ie下若通过 getElementsByTagName来获取所有的param元素,需要使用大写的 "PARAM" 参数.
flash and accessibility
若采用 OE ,E 写入方法则会不能写入替代文本( fallback content ),那么当用户没有安装 flash 时则直接显示空白,造成信息缺失。
若采用 O ,OO firefox 发生 tab 键陷入现象,tab 到 flash 后会出不来,接连再按 tab 键都没反应,严重损坏了可访问性.
那么推荐采用 JS 嵌入方法:
使用 javascript 脚本输出 flash 标签:
ie : object
其他 embed
JS 判断没有安装 flash 则输出静态图片
禁用 JS 则用 noscript 输图片
JS 判断 flash 安装与否:
/** * 获取 Flash 版本号 * 返回数据 [M, S, R] 若未安装,则返回 undefined */ function getFlashVersion() { var ver, SF = 'ShockwaveFlash'; // for NPAPI see: http://en.wikipedia.org/wiki/NPAPI if (navigator.plugins && navigator.mimeTypes.length) { ver = (navigator.plugins['Shockwave Flash'] || 0).description; } // for ActiveX see: http://en.wikipedia.org/wiki/ActiveX else if (window.ActiveXObject) { try { ver = new ActiveXObject(SF + '.' + SF)['GetVariable']('$version'); } catch(ex) { //S.log('getFlashVersion failed via ActiveXObject'); // nothing to do, just return undefined } } // 插件没安装或有问题时,ver 为 undefined if (!ver) return undefined; // 插件安装正常时,ver 为 "Shockwave Flash 10.1 r53" or "WIN 10,1,53,64" return arrify(ver); }
from kissy flash .
参考资料:
OBJECT and EMBED syntax | Flash
Flash Satay: Embedding Flash While Supporting Standards
html5 就是大杂烩,妥协了:
发表评论
-
continuation, cps
2013-09-12 16:49 2809起 随着 nodejs 的兴起,异步编程成为一种潮流 ... -
一种基于匹配回朔的 css3 选择器引擎实现
2013-05-07 20:40 3414一种基于匹配回朔的 css3 选择器引擎实现 介绍 C ... -
cubic-bezier 模拟实现
2013-01-05 16:34 14110cubic-bezier 曲线是 css3 动画的一个重要基石 ... -
构建前端 DSL
2012-10-11 22:10 5372目前在传统的软件开 ... -
Get cursor position and coordinates from textarea
2012-04-10 20:50 5066最近需要从 textarea 中获 ... -
兼容 ie 的 transform
2012-02-23 14:00 6443css 2d transform 是 css3 引入的一个新的 ... -
promise api 与应用场景
2012-02-07 17:34 7402promise 是 commonjs 社区中提出的异步规范,其 ... -
closure compiler 代码优化实例
2012-01-08 03:23 2842closure compiler 可以进行不少有意思的优化 ... -
write html parser
2011-12-01 02:48 2925首先需要声明 html 不能用正则表达式来直接匹配进行内容抽取 ... -
获取剪贴板数据
2011-11-07 23:31 6459兼容性: 获取剪贴板数据这块各个浏览器间存在很大的 ... -
url 映射问题
2011-11-07 21:52 3226背景 url mapping 我最早知道是作为 j ... -
tip:如何原生播放声音
2011-10-19 12:45 2985如果不想考虑浏览器间 ... -
转载:瀑布流布局浅析
2011-09-29 19:02 2853简介 如果你经 ... -
cross domain request
2011-09-29 18:39 2851场景 跨域请求是随着 ... -
基于多继承的树设计
2011-09-18 03:42 2271分类 树是一种常见 ... -
caja 原理 : 前端
2011-09-01 16:48 7077作为前端开放的基础安全保证,caja 是目前比较合 ... -
tokenization of html
2011-08-29 22:38 2794html 符号解析问题 场景: 在页面上输出包 ... -
ie 下 cloneNode 导致的属性克隆
2011-08-24 16:10 2483这个还是很值得记下,一直存在的很大隐患终于解决,由于在 ie& ... -
循环引用下的深度克隆
2011-08-04 20:39 2328深度复制和浅度复制 是当初初学 c 遇到的第一批问题,似乎使 ... -
模块的静态与动态循环依赖
2011-07-25 03:43 3286场景: 循环依赖 我是不支持的,但现实中似乎又确实需 ...
相关推荐
4. **IFrame嵌套**:有时,Flash被嵌入到一个HTML的IFrame中,这时可以通过访问IFrame的contentWindow或contentDocument属性来间接操作HTML内容。但这需要同源策略的允许,否则会有安全限制。 5. **安全性与跨域...
"易语言嵌入flash例程"是一个利用易语言进行开发的项目,其核心是将Adobe Flash(通常包含SWF文件)内容嵌入到易语言编写的程序中,实现动态交互和多媒体展示。 在描述中提到的"易语言的flash程序源码",指的是使用...
在某些情况下,Flash应用会从XML文件中读取数据,以便动态更新内容或设置参数。XML是一种结构化数据存储格式,易于解析和理解,常用于跨平台的数据交换。 其次,`swfobject.js`是用于无插件嵌入Flash的JavaScript库...
NXP的最新版HEX下载软件,单片机.arm烧录工具,win10版。嵌入系统开发必备软件,版本号12.75 build 5732
如何把汉字字形库嵌入2812片内FLASH
标题中的“在页面读取flash的js”指的是利用JavaScript与Flash交互的技术,目的是在网页上以Flash动画的形式展示内容,例如图片新闻。这种技术在早期的网页设计中常见,因为Flash能够提供丰富的视觉效果和互动体验,...
在本资源中,我们主要探讨的是如何利用Flash技术读取XML信息来创建一个炫酷的网页相册。这个相册不仅具有自动加载图片的功能,还支持全屏展示,为用户提供了一种引人入胜的浏览体验。以下是关于这个主题的详细知识...
在本文中,我们将深入探讨如何使用C#来实现一个简单的嵌套Flash应用程序,该程序能够从数据库中读取数据并展示。这个例子主要是为那些希望将动态数据集成到Flash图表中的C#开发者提供的。 首先,从给定的描述和标签...
2. **Flash识别**:找到Flash对象后,工具会读取其中的相关属性,如`src`属性,这通常指向SWF文件的URL。 3. **文件下载**:确定了Flash文件的URL后,工具会发起HTTP请求,下载SWF文件到本地,以供用户保存和后续...
这个"ASP源码—Flash+JS图片切换轮换特效ASP读取数据库版.zip"压缩包文件,正如其名,包含了一个使用ASP技术实现的图片轮播功能,它结合了Flash和JavaScript两种技术来实现视觉效果,并且可以从数据库中读取图片信息...
同时,Flash可以使用`getVariable()`方法读取这些变量。 在这个示例中,`1.fla`是Flash的源文件,其中包含了AS3代码,可能已经定义了与JavaScript交互的函数。`show.html`是包含Flash内容的HTML页面,可能使用了`...
- **ActionScript解释器**:支持Flash Player 4的ActionScript语言版本,并引入了针对移动设备的特殊命令,如时间、日期信息的读取,增强了动画的互动性和实用性。 - **文本和字体管理**:支持静态、动态及输入...
Flash解码过程涉及读取SWF文件的各个部分,并将它们解析成可执行的数据。解码器需要理解每个标签的含义,并正确处理。在Linux和Windows上,这个过程可能会有所不同,因为不同的操作系统可能需要不同的API来处理图形...
1. **ActiveX控件**:Flash可以嵌入到VB应用程序中作为ActiveX控件,使得VB程序能够控制Flash电影的播放、停止等操作。VB可以通过调用控件的属性和方法来实现对Flash的控制。 2. **ActionScript**:Flash中的...
通过ASP,我们可以编写VBScript或JScript代码,实现读取Access数据库中的数据,并以特定格式返回给Flash。 2. Access数据库: Access是Microsoft Office套件中的一款关系型数据库管理系统,适用于小型企业和个人...
4. **HTML模板**:包含了嵌入SWF文件的HTML代码,可能还有JavaScript代码来辅助Flash与网页的交互。 5. **CSS样式表**:用于控制上传组件的外观和布局。 6. **可能的配置文件**:例如XML或JSON文件,用于设置上传...
2. HTML/Flash嵌入代码:用于在网页中嵌入Flash对象,并提供用户界面,如“选择文件”按钮和上传进度指示器。 3. 服务器端脚本:接收并处理Flash上传的文件,可能包括验证、存储和响应操作。 需要注意的是,随着...
5. **index.html**:这是网页的入口文件,通常会包含一个Flash对象或者SWF(ShockWave Flash)嵌入代码,以加载并显示`fileUpload.swf`这个Flash应用程序。 6. **fileUpload.swf**:这是实际执行文件上传功能的...
股票FLASH源码共分享,这个资源集合包含了与股票展示相关的Flash源代码,是开发者们学习和参考的一个宝贵素材。在 Flash 技术广泛应用于互联网的时期,它在数据可视化,尤其是股票图表展示方面发挥了重要作用。这里...
5. **发布和部署**:完成以上步骤后,你可以将Flash项目导出为SWF文件,然后将其与XML文件和图片资源一起上传到Web服务器,嵌入到HTML页面中,即可在线展示你的Flash-XML相册。 总的来说,这个国外强大的Flash-XML...