日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

我的瀏覽器兼容實(shí)踐 - 回頭再說 堅(jiān)強(qiáng)2002的博客 - 博客園

 thy 2007-12-07

目標(biāo):兼容IE6 IE7 Firefox;

        當(dāng)我和我們的美工開始著手進(jìn)行網(wǎng)站的瀏覽器兼容工作的時(shí)候,有一個(gè)明顯的感覺:以前我們被IE慣壞了,由奢入儉難,改變壞毛病是不容易啊;如何現(xiàn)存系統(tǒng)進(jìn)行瀏覽器兼容呢?以后的工作中怎么進(jìn)行瀏覽器兼容呢?

       開始我用事先想好的一套:用搜索引擎搜索出來各種瀏覽器兼容的方案,比如:兩個(gè)層重疊了怎么處理,表格撐開了怎么處理...然后整理出來一份文檔放在團(tuán)隊(duì)共享。我的確就是這樣做的,從早晨開始做到晚上8點(diǎn),也有“成就”:40多頁的文檔;可就在臨睡覺之前我意識(shí)到這是一件“勤勞而愚蠢的事情”。

        原因:頁面對了,不考慮瀏覽器對HTML元素渲染的差別,那么在所有瀏覽器中顯示基本一樣;但是頁面錯(cuò)了那就花樣百出了。比如同樣是一個(gè)DIV的閉合標(biāo)簽沒有寫,在火狐里面,有可能一個(gè)頁面是表現(xiàn)成層重疊,另一個(gè)頁面表現(xiàn)為這個(gè)層跑到頁面最下面了。而在IE中這有可能是完全正常的。我做的工作是什么呢?是在窮舉出所有的錯(cuò)誤情況并找出解決方案,豈不荒唐

       無論整體思路有沒有,手頭的問題還是要解決的,在解決問題的過程中,一切豁然開朗;

       那是一個(gè)系統(tǒng)中最重要的頁面,也是在火狐中最混亂的頁面:有一部分功能被覆蓋,左右兩個(gè)DIV一上一下,隨著頁面內(nèi)容展開footer不自動(dòng)往下延伸...經(jīng)過兩天的奮戰(zhàn)頁面正常了,回頭看看我們到底做了什么呢?我們實(shí)質(zhì)上是在無限的靠近W3C標(biāo)準(zhǔn)。

        于是,一個(gè)個(gè)問題迎刃而解:對于現(xiàn)存的頁面,用W3C驗(yàn)證工具,從Fatal級(jí)別的錯(cuò)誤開始解決;以后的開發(fā)中頁面的瀏覽器兼容怎么保證----只要遵循W3C標(biāo)準(zhǔn)做就可以了。這里有一個(gè)技巧,不是所有瀏覽器都完美的支持W3C的所有標(biāo)準(zhǔn),同時(shí)W3C標(biāo)準(zhǔn)在有些地方的確吹毛求疵,所以我們大體上遵循W3C的標(biāo)準(zhǔn),但是頁面上并不添加W3C的聲明。

        做瀏覽器兼容開始做的比較累,后來找到一個(gè)工具,一開始我只告訴她,沒想到一傳十十傳百,竟成了眾人皆知的秘密(玩笑了)----FireBug+Yslow;http://com3.devnet.re3.yahoo.com/yslow/  前者是調(diào)試腳本和頁面樣式的絕佳工具,可以在腳本中設(shè)置斷點(diǎn)。后者則是根據(jù)High performance Web sites提到的14條原則做成了一個(gè)工具:

YSlow analyzes web pages and tells you why they're slow based on the rules for high performance web sites. YSlow is a Firefox add-on integrated with the popular Firebug web development tool.


做瀏覽器兼容時(shí)遇到的一些腳本兼容問題:

1.Firefox里面不能操作剪貼板(有曲線救國之策么?)

2.IE里面的event.srcElementFireFox里面是event.target注意兼顧

3.IE里面的 div.innerText;在FireFox里面是div.textContent;

4.文本超長自動(dòng)省略: style="overflow: hidden; text-overflow: ellipsis;  width: 260px; white-space: nowrap; cursor: pointer; "注意要?jiǎng)h掉頁面上的W3c標(biāo)準(zhǔn)!

5.如果真的需要為不同的瀏覽器做區(qū)分那么可以

if (window.navigator.userAgent.indexOf("MSIE")>=1)  //IE6 7

if (window.navigator.userAgent.indexOf("Firefox")>=1)  //FF

6.CSS方面也有一些做瀏覽器兼容的策略 就不越俎代庖了 可以搜索一下

 

總結(jié)一下:

1.  遵循標(biāo)準(zhǔn)但是不把W3C標(biāo)準(zhǔn)聲明添加到頁面上,這種做法在時(shí)間和頁面質(zhì)量之間做了一個(gè)折衷

2.對現(xiàn)存的頁面做美化 可以從驗(yàn)證W3C開始 這是一個(gè)好的切入點(diǎn)

3.瀏覽器兼容在新頁面的開發(fā)時(shí)就要考慮,完成之后再做成本是完全不一樣的 類似于代碼重構(gòu)

4.有些javascript編寫也要關(guān)注一些敏感的瀏覽器兼容問題

5.多說一句:頁面開發(fā)人員學(xué)一點(diǎn)CSS的知識(shí)對于解決瀏覽器兼容的問題是很有幫助的



回頭再說,現(xiàn)在開始......

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多