pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

HTML插入Flash的全兼容完美解決方案-SWFObject

Flash 嵌入的問題朋友們可能認為很簡單,但是具體到一些問題上來講,就不是那么簡單了,比如:IE瀏覽器對FLASH的攔截虛框怎么去掉?在FF、OP、NS等其它瀏覽器是否兼容?代碼是否符合

        Flash 嵌入的問題朋友們可能認為很簡單,但是具體到一些問題上來講,就不是那么簡單了,比如:IE瀏覽器對FLASH的攔截虛框怎么去掉?在FF、OP、NS等其它瀏覽器是否兼容?代碼是否符合W3C標準??等等

        下面我就轉貼別人的一篇文件,共同學習一下

一、傳統的方法

<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="**" value="my**.swf" /> 
<param name="quality" value="high" /> 
<param name="bgcolor" value="#ffffff" /> 
<embed src="my**.swf" quality="high" bgcolor="#ffffff" width="550"    height="400"name="my**" 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 的確認安裝的框——這個框對很多用戶來說是很恐怖的。

二、用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 id="swfid"></div> 
<script type="text/javascript" src="swfobject.js"></script> 
<script type="text/javascript">
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 type="text/javascript" src="swfobject.js"></script> 
<script type="text/javascript"> 
//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

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

由于實際運行環境是在瀏覽器中,因此性能還取決于JavaScript解釋器的效率,指定的FPS幀速在低性能解釋器中可能不會達到,所以這部分不是開發者能夠決定的,開發者能作的是盡可能通
本文將使用HTML5提供的VideoAPI做一個自定義的視頻播放器,需要用到HTML5提供的video標簽、以及HTML5提供的對JavascriptAPI的擴展。,HTML5中國,中國最大的HTML5中文門戶。
隨著 Hybrid 應用的豐富,HTML5 工程師們已經不滿足于把桌面端體驗簡單移植到移動端,他們覬覦移動原生應用人性化的操作體驗,特別是原生應用與生俱來的豐富的手勢系統。HTML5 沒有提
你想要在自己網站上分享一個產品,或者是一個作品集,又或者僅僅只是一個靈感。在你發布到網上之前,你想讓它看起來有吸引力,專業,或者至少得看起來像那么回事。那么你接下
H5廣告,包括H5廣告的設計流程,究竟有什么講究,和階段。為了能幫助更多的人了解H5廣告,我專門做了一個講義。同時,也讓我意外的收到了非常好反饋和認!這是對我的極大鼓勵!我的
本文主要內容有:框架與組件、構建生態、開發技巧與調試、html、css與重構、native/hybrid/桌面開發、前端/H5優化、全棧/全端開發、研究實驗、數據分析與監控、其它軟技能、前端技術網
主站蜘蛛池模板: BAUER减速机|ROSSI-MERSEN熔断器-APTECH调压阀-上海爱泽工业设备有限公司 | 拉力机-万能试验机-材料拉伸试验机-电子拉力机-拉力试验机厂家-冲击试验机-苏州皖仪实验仪器有限公司 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | POS机办理_个人pos机免费领取-银联pos机申请首页 | 广西资质代办_建筑资质代办_南宁资质代办理_新办、增项、升级-正明集团 | 定制防伪标签_防伪标签印刷_防伪标签厂家-510品保防伪网 | 合肥宠物店装修_合肥宠物美容院装修_合肥宠物医院设计装修公司-安徽盛世和居装饰 | 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | 电子书导航网_电子书之家_电子书大全_最新电子书分享发布平台 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 烟气换热器_GGH烟气换热器_空气预热器_高温气气换热器-青岛康景辉 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 广州食堂承包_广州团餐配送_广州堂食餐饮服务公司 - 旺记餐饮 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 心肺复苏模拟人|医学模型|急救护理模型|医学教学模型上海康人医学仪器设备有限公司 | 电渗析,废酸回收,双极膜-山东天维膜技术有限公司 | 丽陂特官网_手机信号屏蔽器_Wifi信号干扰器厂家_学校考场工厂会议室屏蔽仪 | LINK FASHION 童装·青少年装展 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | 捆扎机_气动捆扎机_钢带捆扎机-沈阳海鹞气动钢带捆扎机公司 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 滚珠丝杆升降机_螺旋升降机_丝杠升降机-德迈传动 | 周口市风机厂,周鼓风机,河南省周口市风机厂| 山东钢衬塑罐_管道_反应釜厂家-淄博富邦滚塑防腐设备科技有限公司 | 杭州公司变更法人-代理记账收费价格-公司注销代办_杭州福道财务管理咨询有限公司 | 钢托盘,铁托盘,钢制托盘,镀锌托盘,饲料托盘,钢托盘制造商-南京飞天金属13260753852 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 大鼠骨髓内皮祖细胞-小鼠神经元-无锡欣润生物科技有限公司 | 超细|超微气流粉碎机|气流磨|气流分级机|粉体改性机|磨粉机|粉碎设备-山东埃尔派粉体科技 | 房屋质量检测-厂房抗震鉴定-玻璃幕墙检测-房屋安全鉴定机构 | 别墅图纸超市|别墅设计图纸|农村房屋设计图|农村自建房|别墅设计图纸及效果图大全 | 减速机电机一体机_带电机减速器一套_德国BOSERL电动机与减速箱生产厂家 | 一体化污水处理设备,一体化污水设备厂家-宜兴市福源水处理设备有限公司 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | MES系统工业智能终端_生产管理看板/安灯/ESOP/静电监控_讯鹏科技 | 网带通过式抛丸机,,网带式打砂机,吊钩式,抛丸机,中山抛丸机生产厂家,江门抛丸机,佛山吊钩式,东莞抛丸机,中山市泰达自动化设备有限公司 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 广州/东莞小字符喷码机-热转印打码机-喷码机厂家-广州瑞润科技 | [品牌官网]贵州遵义双宁口腔连锁_贵州遵义牙科医院哪家好_种植牙_牙齿矫正_原华美口腔 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 |