搜索
首页web前端html教程HTML插入Flash的全兼容完美解决方案-SWFObject_html/css_WEB-ITnose

Flash 嵌入的问题朋友们可能认为很简单,但是具体到一些问题上来讲,就不是那么简单了,比如:IE浏览器对FLASH的拦截虚框怎么去掉?在FF、OP、NS等其它浏览器是否兼容?代码是否符合W3C标准??等等

下面我就转贴别人的一篇文件,共同学习一下

一、传统的方法

 
 
 
 
 
 


这方法是使用 object 和 embed 标签来嵌入,细心的会发现,object 的很多参数和 embed 里面的很多属性是重复的,为什么这样做?为了浏览器兼容性,有的浏览器支持 object,有的支持 embed,这也是为什么要修改 Flash 的参数时两个地方都要改的原因。

 

这种方法是 Macromedia 一直以来的官方方法,最大限度的保证了 Flash 的功能,没有兼容性问题。但是它现在不那么好用了: 无法通过验证,由于为了兼容性而嵌入的 embed 标签是不符合 W3C 的规范的。当然,如果你不在乎什么规范不规范,另当别论。

微软由于种种原因,在 sp2 后限制了 IE 的 ActiveX 的使用模式,就是在页面中的 ActiveX 有一个虚框,需要用户点击一次才能正常交互。Flash是作为一个 ActiveX 嵌入到网页中的,所以它也会受牵连,只有通过 JS 嵌入 Flash 才能解决这个问题。

没有 Flash 版本检测,如果版本浏览器的flash插件版本不够,或者不能正常显示你的 swf 文件,或者会弹出一个 ActiveX 的确认安装的框??这个框对很多用户来说是很恐怖的。

二、用JS嵌入的方法

用JS嵌入就是各有各的嵌入方法了,有嵌得好的有嵌得不好的。有人用 document.write 直接写,这法子说实话不大好,感觉 hack 成分多了,有点为了验证而验证的意思,而且没有体现出什么 JS 的优势。我觉得一个好的 JS 嵌入脚本,在保证 Flash 应有功能的基础上,要发挥 JS 的优势应该要有版本检测,要能很好解决可访问性问题(也就是用户在无法浏览 Flash 内容或禁用 JS 的时候应该如何处理的问题),要易于重复使用。

我们这里要讲的是SWFObject这个解决方案:

“SWFObject”是利用Javascript 插入flash,好处多多,代码简洁,不会出现IE6下的“单击此处以激活控件”的提示,并且能通过W3C验证。不同于传统的“object”插入flash的方法。

SWFObject在新的2.x版本中,其最简单的调用竟只需一句话,并且不需要等待页面加载完成,这意味着你可以将这句话写在页面的任何地方。比以前的版本,要简便多了。下面来看几个简单常用的调用方法:

1、最简单,最基本,只要想插入flash都能用到的经典一句话。

div >  
script >  

swfobject.embedSWF( " test.swf " ,  " swfid " ,  " 300 " ,  " 120 " ,  " 9.0.0 " ,  " expressInstall.swf " ); 
script >

注解:调用方法embedSWF??插入SWF文件,参数依次是@swf文件的地址;@用于装入swf文件的容器(如div)的id;@flash的宽度;@flash的高度(当然,这里的宽高都可以使用诸如100%这样的百分比来表示);@正常播放该flash所需的最低版本;@当版本低于要求时,执行该swf文件,这里利用这个flash跳转到官方下载最新版本的flash插件。(该参数可以省略)在同一个页面插入多个flash到不同位置时,只要重复上面的语句,使用不同的容器id就可以了。


2、给swf文件传递参数、变量、属性的调用方法

script >  
 
// 1、使用Json初始化变量、参数、属性  
         var  flashvars  =  {
            name1:  " hello " ,
            name2:  " world " ,
            name3:  " foobar "
        };
         var  params  =  {
            menu:  " false "
        };
         var  attributes  =  {
            id:  " dynamicContent2 " ,
            name:  " dynamicContent2 "
        };
        swfobject.embedSWF( " test6_flashvars.swf " ,  " content2 " ,  " 300 " ,  " 120 " ,  " 6.0.0 " , " expressInstall.swf " , flashvars, params, attributes); 

// 2、传统的初始化设置,效果一样  
         var  flashvars  =  {};
        flashvars.name1  =   " hello " ;
        flashvars.name2  =   " world " ;
        flashvars.name3  =   " foobar " ;
         var  params  =  {};
        params.menu  =   " false " ;
         var  attributes  =  {};
        attributes.id  =   " dynamicContent3 " ;
        attributes.name  =   " dynamicContent3 " ;
        swfobject.embedSWF( " test6_flashvars.swf " ,  " content3 " ,  " 300 " ,  " 120 " ,  " 6.0.0 " , " expressInstall.swf " , flashvars, params, attributes); 
// 3、直接写在后面,就一句话,简洁剽悍,不拖泥带水  
        swfobject.embedSWF( " test6_flashvars.swf " ,  " content5 " ,  " 300 " ,  " 120 " ,  " 6.0.0 " , " expressInstall.swf " , {name1: " hello " ,name2: " world " ,name3: " foobar " }, {menu: " false " }, {id: " dynamicContent5 " ,name: " dynamicContent5 " }); 
script >
 

SWFObject google 开源项目 http://code.google.com/p/swfobject/
SWFObject(2.2版) 下载地址:http://swfobject.googlecode.com/files/swfobject_2_2.zip
SWFObject(2.0版) 下载地址:http://swfobject.googlecode.com/files/swfobject_2_0.zip
SWFObject的官方Blog:http://blog.deconcept.com/swfobject/
SWFObject 2.0 官方文档(中文) http://www.admin10000.com/resource/1.html

 

来至于  http://www.admin10000.com/Document/5.html

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
使用SQL中的MINUS操作符使用SQL中的MINUS操作符Feb 18, 2024 pm 04:53 PM

SQL中MINUS的用法及具体代码示例在SQL中,MINUS是一种用于在两个结果集之间执行差集操作的运算符。它用于从第一个结果集中删除与第二个结果集中相同的行。MINUS操作符返回的结果集将包含仅存在于第一个结果集中的行。下面通过具体的代码示例来演示MINUS的用法:假设有两个表-"table1"和"table2",它们的结构如下:表名:table1字段

WWAHost.exe 进程高磁盘、CPU 或内存使用修复WWAHost.exe 进程高磁盘、CPU 或内存使用修复Apr 14, 2023 pm 04:43 PM

许多用户在系统变慢时报告任务管理器中存在WWAHost.exe进程。WWAHost.exe进程会占用大量系统资源,例如内存、CPU或磁盘,进而降低PC的速度。因此,每当您发现您的系统与以前相比变得缓慢时,请打开任务管理器,您会在那里找到这个WWAHost.exe进程。通常,已观察到启动任何应用程序(如Mail应用程序)会启动WWAHost.exe进程,或者它可能会自行开始执行,而无需在您的WindowsPC上进行任何外部输入。此进程是安全有效的Microsoft程序,是Wi

我们可以在Java列表中插入空值吗?我们可以在Java列表中插入空值吗?Aug 20, 2023 pm 07:01 PM

SolutionYes,Wecaninsertnullvaluestoalisteasilyusingitsadd()method.IncaseofListimplementationdoesnotsupportnullthenitwillthrowNullPointerException.Syntaxbooleanadd(Ee)将指定的元素追加到此列表的末尾。类型参数E −元素的运行时类型。参数e −要追加到此列表的元

如何在iPhone上修复iTunes错误1667如何在iPhone上修复iTunes错误1667Apr 17, 2023 pm 09:58 PM

大多数人作为备份实践将他们的文件从iPhone传输到PC/Mac,以防由于某些明显的原因而丢失。为此,他们必须通过避雷线将iPhone连接到PC/Mac。许多iPhone用户在尝试将iPhone连接到计算机以在它们之间同步文件时遇到错误1667。此错误背后有相当潜在的原因,可能是计算机或iPhone中的内部故障,闪电电缆损坏或损坏,用于同步文件的过时的iTunes应用程序,防病毒软件产生问题,不更新计算机的操作系统等。在这篇文章中,我们将向您解释如何使用以下给定的解决方案轻松有效地解决此错误。初

wps文档里插入中国地图的图文方法wps文档里插入中国地图的图文方法Mar 27, 2024 pm 02:01 PM

1、打开wps软件,进入wps文字的操作界面。2、在该界面内找到插入选项。3、点击插入选项,在其编辑区域内找到形状选项。4、点击形状选项,在其子级菜单那里找到推荐选项。5、在推荐选项内找到中国地图选项。6、点击中国地图选项,用鼠标左键在编辑输入区里拖拽,就得到了我们需要的中国地图。

修复:Windows 11 不关闭显示 [6 个简单的解决方案]修复:Windows 11 不关闭显示 [6 个简单的解决方案]Apr 17, 2023 pm 02:28 PM

Windows11可以选择在一段时间不活动后关闭显示器。当用户离开计算机并且不手动使其进入睡眠状态时,此功能可以节省电量。用户报告了即使在设置的持续时间之后他们的显示器也没有关闭的问题。幸运的是,有一些简单的解决方案可以解决这个问题。如果您的Windows11显示屏在设置时间后未关闭,则可能是由于应用程序或外部设备有问题。继续阅读本文以找到解决方案。如何调整睡眠和屏幕设置?单击开始并转到设置(或按Windows+I)。在系统下转到电源和电池。在屏幕和睡眠下,调整您希望显示器进入睡眠或关闭的时

flash是什么flash是什么Aug 10, 2023 am 10:16 AM

Flash是一种用于创建多媒体和互动内容的软件,具有矢量图形、时间轴动画、交互性和多媒体处理能力等特点。尽管曾经非常流行,但随着新技术的崛起,Flash逐渐被淘汰,并且在2020年停止了官方支持。

在C++中递归插入和遍历链表在C++中递归插入和遍历链表Sep 10, 2023 am 09:21 AM

我们得到了用于形成链表的整数值。任务是使用递归方法先插入然后遍历单链表。在末尾递归添加节点如果head为NULL→将节点添加到head否则添加到head(head→next)递归遍历节点如果head为NULL→退出否则打印(head→next)示例输入−1-2-7-9-10输出输出strong>−链表:1→2→7→9→10→NULL输入−12-21-17-94-18输出−链表:12→21→17→94→18→NULL下面程序中使用的方法如下在这种方法中,我们将使用函数添加节点并遍历单链表并递

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),