站长资源网页制作 ie6 大环境下暂时不要考虑w3c标准 整理:jimmy2025/1/11浏览2次 站长资源 网页制作 网盘链接 云盘下载 简介这是flash传统的嵌入方法: 复制代码代码如下: 这是flash传统的嵌入方法: 复制代码代码如下: <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="32" height="32"> <param name="movie" value="test.swf" /> <param name="quality" value="high" /> <embed src="/UploadFiles/2021-03-30/test.swf"></object> 使用 object 和 embed 标签来嵌入,细心的会发现,object 的很多参数和 embed 里面的很多属性是重复的。 有的浏览器支持 object ,有的支持 embed ,这也是为什么要修改 flash 的参数时两个地方都要改的原因。这种方法是 macromedia 一直以来的官方方法,最大限度的保证了 flash 的功能,没有兼容性问题。 但是自从有了w3c标准,和一些极力要求通过该标准的客户,事情复杂了: embed被认为是非法的 embed 标签是 netscape 的私有标签,虽然 embed 标签应用广泛存在,但是从html3.2,html4.0到xhtml1.0,w3c都没有收录这个标签。使用embed 标签的页面将不能通过w3c校验。 其实他们这样考虑也是正确的,大部分西方国家的用户,正版vista系统基本上做到了普及,他们大多使用ie7.0/ie8.0等主流浏览器,使用这种简介的标签可以节省好几行代码: <object type="application/x-shockwave-flash" data="test.swf" width="200" height="100"> <parm name="movie" value="test.swf /> </object> 但是在盗版泛滥的中国,多数用户仍然在使用windows xp系统上自带的ie6浏览器,而它是不支持object标签的,只能使用变通的方式来解决。 目前的临时办法 既要符合标准,又想在所有浏览器正确显示flash应该怎么做?我们可以添加一段冗长的javascript来隐藏embed标签: 复制代码代码如下: function getflashobject(flashsrc, objwidth, objheight, etcparam) { var tag = ""; var baseflashdir=""; flashsrc = baseflashdir + flashsrc; if ( etcparam != "" || etcparam != null ) { if ( etcparam.substr(0, 1) == "?" ) flashsrc += etcparam; else flashsrc += "?" + etcparam; } tag += "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" "; tag += "codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" "; tag += "width=\"" + objwidth + "\" height=\"" + objheight + "\">"; tag += "<param name=\"movie\" value=\"" + flashsrc + "\" />"; tag += "<param name=\"quality\" value=\"high\" />"; tag += "<param name=\"wmode\" value=\"transparent\" />"; tag += "<embed src=\"" + flashsrc + "\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" "; tag += "type=\"application/x-shockwave-flash\" width=\"" + objwidth + "\" height=\"" + objheight + "\" "; tag += "wmode=\"transparent\"></embed>"; tag += "</object>"; document.write(tag); } 不只如此,还需要在页面中添加若干调用该js的参数 复制代码代码如下: <script language="javascript" type="text/javascript">getflashobject('images/test.swf', '100%', '100%', '')</script> 那新的问题又出现了,如果用户禁用了javascript怎么办? 难道要先写出更多的代码,判断用户使用的是什么浏览器,然后根据浏览器再输出合适的代码?我靠,多影响页面执行效率啊,为了一个w3c标准,多那么多行代码,让每一个访问自己网站的用户多等待1秒钟? 所以我想表述的观点是: 目前,ie6普及的大环境下,暂时不要考虑w3c标准。用心做好自己的页面,能少写几行代码就少写几行代码。不要为了标准去做标准。 上一篇:CSS3模块的目前的状况分析 下一篇:CSS文字控制之letter-spacing和word-spacing 最新资源 群星《奔赴!万人现场 第2期》[FLAC/分轨] 群星《奇妙浪一夏 (上海迪士尼度假区音乐 群星《奇妙浪一夏 (上海迪士尼度假区音乐 【古典音乐】詹姆斯·高威《季节》1993[WA 贝拉芳蒂《卡里普索之王》SACD[WAV+CUE] 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE 群星《欢迎来到我身边 电影原声专辑》[32 群星《欢迎来到我身边 电影原声专辑》[FL 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低 群星《2024好听新歌42》AI调整音效【WAV分 一句话新闻微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。