ie6普及的大环境下暂时不要考虑w3c标准

2016-02-20 00:28 6 1 收藏

今天图老师小编给大家展示的是ie6普及的大环境下暂时不要考虑w3c标准,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - Web开发 】

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

这问题不知道该责骂不会自动更新的ie6,还是该诅咒不懂向下兼容的w3c标准。
这是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="test.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="32" height="32"/embed
/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);    
}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

不只如此,还需要在页面中添加若干调用该js的参数
  
script language="javascript" type="text/javascript"getflashobject('images/test.swf', '100%', '100%', '')/script

那新的问题又出现了,如果用户禁用了javascript怎么办?
难道要先写出更多的代码,判断用户使用的是什么浏览器,然后根据浏览器再输出合适的代码?我靠,多影响页面执行效率啊,为了一个w3c标准,多那么多行代码,让每一个访问自己网站的用户多等待1秒钟?
所以我想表述的观点是:
目前,ie6普及的大环境下,暂时不要考虑w3c标准。用心做好自己的页面,能少写几行代码就少写几行代码。不要为了标准去做标准。

来源:https://www.tulaoshi.com/n/20160220/1631913.html

延伸阅读
关于 W3C 代码验证,一个事实就是,验证本身并不能保证你的站点在语义,可访问性,易用性,乃至用户体验上的的完美,通过这些验证工具,发现你代码中的错误和问题是应该的,但过分追求验证的结果,为验证而验证时不可取的。 W3C 验证让很多 Web 设计与开发者感到纠结,在自己的网页上放置一个验证按钮,点击以后,当看到 W3C 为你给出的全部是...
暂时不要baby的是大情况 很多妈妈想要宝宝但是总是事与愿违,在某些情况下不得不暂时不要宝宝,也许这样才是最好的,妈妈和宝宝才能更健康! 想要有一个健康的胎儿,在怀孕的时候你就应当开始注意,当你患有以下疾病的时候,应该先暂缓受孕: 1、女Tulaoshi.Com方有心、肝、肾、肺等慢性病,尤其在这些器官的功...
IE6 盒子模型中,盒子的尺寸包含了 内容区,padding, border 和 margin 这四个部分,而 W3C 的盒子模型中,盒子的尺寸只包含内容区,padding,border 和 margin 被排除在盒子尺寸之外。 盒子模型(Box Model)是 CSS 的核心,现代 Web 布局设计简单说就是一堆盒子的排列与嵌套,掌握了盒子模型与它们的摆放控制,会发现再复杂的页面也不过如此...
一、在<div class=tzhI am TZH! 标点符号问题。这其实也是大家最容易忽视的问题,其实就是小小的两个引号,就造成了这个错误。虽然很多浏览器在不加引号的情况下仍然能正确识别渲染。但是这样想要通过严格的W3C XHTML国际标准是不可能的,请大家记住等号后面一定要接引号。正确写法:<div class="tzh"I am TZH!  ...
标签: Web开发
本文章是一位webjx.com的网友在进行网站更新与调整时,进行W3C XHTML1.0验证的时候的一些经验。 总结出通过W3C XHTML1.0标准需要注意的九个问题: 一、在 div class=tzhI am TZH!/div 这段语句中有什么错误? 标点符号问题。这其实也是大家最容易忽视的问题,其实就是小小的两个引号,就造成了这个错误。虽然很多浏览器在不加引号...

经验教程

855

收藏

68
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部