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

首頁 > 網站 > WEB開發 > 正文

網站標準之Flash頁面如何通過校驗

2024-04-27 13:53:15
字體:
來源:轉載
供稿:網友

1.embed是非法的

<embed>標簽是Netscape的私有標簽,雖然<embed>標簽應用廣泛存在,但是從HTML3.2,HTML4.0到XHTML1.0,W3C都沒有收錄這個標簽。使用<embed>標簽的頁面將不能通過W3C校驗。

2.應該用object

W3C推薦的是<object>標簽。甚至在XHTML2中,<img>都要被<object>所取代。用<object>方法插入flash的代碼是:

以下為引用的內容:

<object type="application/x-shockwave-flash" data="test.swf" width="200" height="100"> <parm name="movie" value="test.swf /> </object>

但是這個方法在IE5-IE6/Win上不能正確顯示(不能連續播放,要下載完才能放),在低版本的可以正確顯示。后來采用先調一個小flash文件再嵌入大flash文件的方法解決了連續播放的問題,但是在IE5以上版本有時依然出現不能顯示flash的情況。

3.目前的臨時辦法

那么既要符合標準,又想在所有瀏覽器正確顯示flash應該怎么做?macromedia網站是如何通過W3c校驗的?

有設計師想到了用JavaScript來隱藏非法的<embed>標簽,

以下為引用的內容:

<script type="text/javascript "> if (navegiator . mimeTypes && navigator . mimeTypes["application/x-shockwave-flash"] { document . write('<embed src="test . swf" ...

這是目前比較好的解決辦法。你一定要插flash,就用js調用。這種方法可以欺騙W3C的校驗程序,使頁面通過校驗。但僅僅是"欺騙",而不是真符合標準。

macromedia是怎么做的呢?看到這句代碼:

以下為引用的內容:

<!-- $RCSfile: FlashDetection2k.pm,v $ $Revision: 1.68 $ : your browser's accept header indicates you have Flash 6,0,65,0 or better, so you're OK for this Flash 6 movie, here it comes. -->

它采用了一個折中二選一的辦法:

(1).首先javascript來判定你的瀏覽器版本和flash player的版本;

(2).根據版本的不同在后臺動態的生成HTML代碼。

簡單說就是默認采用<object>方法,假如瀏覽器不能處理object的MIME類型“ application/x-shockwave-flash”,它就插入子元素<embed>。說穿了,這和用js隱藏< embed>方法類似,也是一種“欺騙”的辦法,但這是目前能夠做到的最符合標準的,比較完美的做法了。

要想真正拋棄<embed>,只能等IE瀏覽器對<object>更好的支持才行,也許要等到Longhorn出來了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石阡县| 永定县| 黄陵县| 山西省| 铜鼓县| 申扎县| 许昌市| 泾源县| 招远市| 西乌珠穆沁旗| 本溪市| 昆山市| 铅山县| 光山县| 靖西县| 阆中市| 巴东县| 山西省| 潼关县| 临沭县| 新民市| 曲麻莱县| 乌恰县| 法库县| 西充县| 民乐县| 屏南县| 叙永县| 永年县| 中牟县| 合阳县| 定安县| 湟源县| 洞口县| 漯河市| 镇江市| 灵武市| 宿州市| 翁牛特旗| 司法| 防城港市|