6.17日(rì)音(yīn)訊,flash頁面如(←γ♥rú)何通(tōng)過w3c标準。大(dà)家(♠∏jiā)都(dōu)知(zhī)道(dào),flash是(shì)不(bù®®↔¶)能(néng)被百度等搜索引摯所辨認,所以網頁上(shàng)也< (yě)不(bù)太建議(yì)使用(yòng)flash,但(dàn)™®像一(yī)些(xiē)對(duì)于外(wài)表設計(וλ£jì)要(yào)求較高(gāo)、如(rú)大(dà)型★✔♥σ企業(yè)集團、設計(jì)單位、裝飾裝修等等機(jī)構,他✘≠(tā)們對(duì)于形象則看(kàn)重一(yī)些(xiē),這(zhè €♣β)就(jiù)不(bù)得(de)不(bù)用(yòng)一(yī)§© •些(xiē)flash才加以襯托和(hé)表現(xiàn)了(←δle),現(xiàn)在
邯鄲網站(zhàn)建設首創網絡小(xiǎo)編來(lái)給大(d≥®€∑à)家(jiā)說(shuō)一(yī)下(φ ™Ωxià)什(shén)麽樣的(de)flash代碼是(shì¥≥ )符合w3c标準的(de),如(rú)何做(λ¶zuò)的(de)才是(shì)恰到(dào)好(hǎo)處。
1.embed是(shì)不(bù)太準确的(de)用(yò↕§ng)法
<embed>标簽是(shì)Nets §₹cape的(de)私有(yǒu)标簽,雖然<embed>标簽應用(♣✔yòng)廣泛存在,但(dàn)是(shì)從(cón "✔g)HTML3.2,HTML4.0到(dào)XHTML1∑↔.0,W3C都(dōu)沒有(yǒu)收錄這(zhè)個(gè)标簽。使λ≈用(yòng)<embed>标簽的(de)頁面将不(bù®₹↕φ)能(néng)通(tōng)過W3C校(₽φ÷xiào)驗。
2.應該用(yòng)object
W3C推薦的(de)是(shì)<object>标簽。甚™∏$∏至在XHTML2中,<img>都(dōu£∏®✔)要(yào)被<object>所取代。用(yòng)&γ™lt;object>方法插入flash的(de)代碼±®δ是(shì):
<objecttype="a←¥pplication/x-shockwaveβ £∏-flash"data="test.swf"wγ∏±idth="200"h±×εeight="100">&l&≈t;parmname="movie"value="€≥♠₩;test.swf/></o ₩×φbject>
但(dàn)是(shì)這(zhè)個(gè)方法在IE5-IE6/Wi∞&§n上(shàng)不(bù)能(néng)正确顯♠ €示(不(bù)能(néng)連續播放(fàng₩☆♦↔),要(yào)下(xià)載完才能(néng)放(fàng)),在低(dī)♥版本的(de)可(kě)以正确顯示。後來(£÷ lái)采用(yòng)先調一(yī)個(gè)小∞®€(xiǎo)flash文(wén)件(jià®∏♥n)再嵌入大(dà)flash文(wén)件(jiàn)的(de)方法解決 '≠∑了(le)連續播放(fàng)的(de)問(wèn)題,但(dàn)•φ∞是(shì)在IE5以上(shàng)版本有(yǒu)時(¶ shí)依然出現(xiàn)不(bù)能(néng∞✘∑)顯示flash的(de)情況。
3.目前的(de)臨時(shí)辦法✔ ♣σ
那(nà)麽既要(yào)符合标準,又(yòu)想在所有(yǒu)浏覽器<©¥(qì)正确顯示flash應該怎麽做(z ✘✘λuò)?macromedia網站(zhàn)是(shì)如(☆£rú)何通(tōng)過W3c校(xiào)驗的(de)?
有(yǒu)設計(jì)師(shī)想到(dào)了♠<"(le)用(yòng)JavaScript來(lái)隐藏非法的( &de)<embed>标簽,
<scripttype="text/javascr£φ≥γipt">if(navegiator.mimeType§δs&&navigator.m₩♦imeTypes["application/xδ₹♠-shockwave-flash"]×™ε±{document.write(''<embedsr♠£"'c="test.swf"...
這(zhè)是(shì)目前比較好(h≤"ǎo)的(de)解決辦法。你(nǐ)一(yī)定要(yào)插flas÷™←÷h,就(jiù)用(yòng)js調用(yòng)。∞>↓這(zhè)種方法可(kě)以欺騙W3C的φ"(de)校(xiào)驗程序,使頁面通(tōng)過校(xiào)驗≈ 。但(dàn)僅僅是(shì)"Ωφ欺騙",而不(bù)是(shì)真符合标準。
macromedia是(shì)怎麽做(zuò)的(de)呢(n π★±e)?看(kàn)到(dào)這(zhè)句代碼:
<!--$RCSfile:FlashDetection2k.p≈←©m,v$$Revision:1.68$:yourbrowserΩ↔±♠9;'sacceptheaderindica$ε tesyouhaveFlash6,0,65,0or♣εbetter,soyou''reOKforthisFlash6☆<movie,hereitcomes.-->
它采用(yòng)了(le)一(yī)個(gè)≥∏™折中二選一(yī)的(de)辦法:
(1).首先javascript來(lái)判斷你(nǐ)的(dε ♥e)浏覽器(qì)版本和(hé)flashplayer的(de)版本;
(2).根據版本的(de)不(bù)同在後台動∑↑¶态的(de)生(shēng)成HTML代碼。
簡單說(shuō)就(jiù)是(shì)默認采用(yòng)<÷☆object>方法,如(rú)果浏覽器(qì)不(bù)能(néng)處≠÷♠理(lǐ)object的(de)MIME類型“ap¥↔'plication/x-shockwave-flash”,♣₩它就(jiù)插入子(zǐ)元素<embed>。說(shuō) ∏≤穿了(le),這(zhè)和(hé)用(yòng)js隐藏<em♦$bed>方法類似,也(yě)是(shì)一(yī)™β¥種“欺騙”的(de)辦法,但(dàn)這(zhè)是(©β✘shì)目前能(néng)夠做(zuò)到(dào)的(de)最符合标準的(d&®e),比較完美(měi)的(de)做(zuò)法了(le)。
要(yào)想真正抛棄<embed>♣₽,隻能(néng)等IE浏覽器(qì)對(duì)<ob <α¶ject>更好(hǎo)的(de)支持才行(xíng),但(dà€β↔n)并不(bù)是(shì)說(shuō)我們現(xiàn)的(de)标準就 "Ωπ(jiù)不(bù)符合,其實哪一(yī)種用(yòng)哪一(yī)種也£(yě)是(shì)要(yào)根據實際情況來(lái)定,當然為(wèi)了±♦(le)要(yào)标準靠近(jìn)我們∑ ¥就(jiù)不(bù)能(néng)根據自(zì)己意願來(lái)行(±₽ xíng),善于運用(yòng)、認真分(fēn)析符合各浏覽器∑∏ (qì)的(de)标準才行(xíng)。