国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

ie6普及的大環境下暫時不要考慮w3c標準

2024-07-11 09:02:55
字體:
來源:轉載
供稿:網友

武林網(www.survivalescaperooms.com)文章簡介:你在騙W3C,還是在騙自己的客戶?

這問題不知道該責罵不會自動更新的ie6,還是該詛咒不懂向下兼容的w3c標準。
這是flash傳統的嵌入方法:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="#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="" 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=/"#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=/"/" ";    
   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標準。用心做好自己的頁面,能少寫幾行代碼就少寫幾行代碼。不要為了標準去做標準。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 会东县| 德惠市| 温泉县| 抚宁县| 滨海县| 扎鲁特旗| 和顺县| 尚志市| 襄城县| 邯郸县| 台安县| 枣庄市| 英吉沙县| 江孜县| 茂名市| 宜兰县| 沂南县| 武鸣县| 磐安县| 青州市| 天气| 珠海市| 太仆寺旗| 台湾省| 蕲春县| 杭锦后旗| 乌鲁木齐市| 安庆市| 阳春市| 龙山县| 兴仁县| 陇西县| 黄陵县| 崇信县| 阜宁县| 米易县| 延寿县| 湖州市| 淳化县| 寿宁县| 天气|