关于对cross-browser支持的一些看法
??? 做dhtml開發,除了調試不是十分的方便外,我們還需要或多或少的考慮同一瀏覽器的版本問題。而比這些問題更讓復雜dhtml開發郁悶的,卻是對cross-browser瀏覽的支持。正好有人問到這個問題,我就簡單的說說我的看法。
??? 目前我是專做IE上的dhtml開發,所以我blog里的腳本開發分類都叫做"JScript&DHTML",而不是叫做"JavaScript&DHTML",也就是說我默認提供的事例講解和代碼示例都以JScript為準,因為我現在的工作也沒有時間和必要讓我去別的瀏覽器上驗證我所發的腳本。如果有寫JavaScript的地方,那就是我確認那部分內容JScript和JavaScript是兼容的。
??? 關于cross-browser其實細說起來分為兩類。第一類是狹義的cross-browser,就是說瀏覽器的內核版本之間的腳本代碼及DOM版本實現上的兼容性支持(這里包括同內核瀏覽器比如:MyIE現在叫Maxthon遨游,昵稱:馬桶、Sleipnir、GreenBrowser簡稱GB、GoSuRF、kkman等的內核版本);第二類是廣義的cross-brower,指的是瀏覽器內核不同實現間的腳本代碼及DOM兼容性支持。前者的代表就是我們常說的IE5、IE5.5及IE6.0甚至IE6.0sp1這樣的瀏覽器之間的差別,后者就是諸如:IE、Opera、Mozilla、Firefox、Netscape、Konqueror、Safari和iCab等。
??? 我們接觸到的狹義cross-browser支持,大多是在IE上開發dhtml功能,由于IE從4.0到6.0sp1之間對JScript引擎和DOM實現做了較大的修正和改進(有的是實現了更高的w3c標準版本)。當然別的瀏覽器也同樣有這樣的問題,比如Netscape從2.0b3到4.0版本,經歷了將JavaScript引入瀏覽器并達到一個可用水平的變化。這樣的cross-browser更象是做軟件的向后兼容,但是這樣的問題一般不會太麻煩,畢竟要求用戶升級同一種軟件,而不是完全更換是比較容易讓人接受的。另外同一瀏覽器的升級畢竟還是在其原有的設計框架上,而不會帶來整個結構翻天覆地的變化。不會像今天的IE和ff,它們在Script和DOM處理上的不同,真是讓人巨郁悶,以后我會再討論。
??? 那么廣義的cross-browser我又把它分為以下幾種情況,一是Portal類的網站(包括各種門戶以及各類機關、公司、組織等的官方信息發布的網站),二是普通網站(包括論壇、個人網站、blog,以及一些不十分正式和重要的信息發布網站),三是專用網站(包括各種部門級信息網站、企業ERP網站、OA系統等專有系統網站)。
??? 從上面的簡單分類就能看出,cross-browser支持任務最嚴峻的就是第一類Portal網站了,而且這類網站還沒有辦法逃避。當然是不是只要是這類網站就一定要支持cross-browser呢?其實這個完全是和建網站的人對網站的期望有關系的,就是說你希望你的網站能給帶來什么CI來決定的。比如Google,它的Gmail的Web瀏覽方式被很多人認同,可是那個Pretty的Web Mail是一個非常復雜的dhtml開發工程。反過來,如果Gmail不能支持cross-browser,那么Google是不是給人感覺很矬呢?另一個相反的情況是,很多的xxx.gov.cn網站,根據其重要性來看它們完全因該屬于第一類,可是它們很多卻沒有很好的支持cross-browser。這就是他們對網站的期望不高,沒有覺得網站能給他們帶來什么好處,而只是為建網站而建網站。同時,沒有任何人能說由于某xxx.gov.cn做的象一坨屎,就要他們領導下課。
??? 第二類普通網站,對于cross-browser來說其實是可支持也可不支持的。當然都能支持是最好的了,可是那需要成本的啊。不是大聲說:支持!支持!!支持!!!,就自己支持了。這里面的論壇類網站,為了自己能有更多的潛在用戶訪問或注冊,是會積極主動的支持cross-browser。當然這里的論壇也分很多種類型,如果是專注于Windows平臺技術開發,我覺得對cross-browser做有限的支持也就足夠了。至于其它的小站點,除非是為了展示dhtml技術和JavaScript特效,否這也應該做有限的cross-browser支持,當然程度可以更低一些。
??? 第三類專用網站,這個需要根據其復雜度來區分,如果dhtml技術僅限于表單校驗和一些簡單的網頁特效,這樣的系統是應該支持cross-browser的。如果系統中有很復雜的dhtml開發,比如像Gmail,就需要仔細考慮是否支持cross-browser了。對于企業部署,其實用戶習慣是可以教育的,就是要求使用IE6,甚至更過分就要求IE6sp1,很多時候都是不難辦到的。對于這樣的系統,如果dhtml難度還很大,而且完全不能說服用戶,他就是要IE,并且至少firefox是要支持的。那么怎么辦呢?那就申請更多的resource,支持就是了。
??? 最后說漏了一點,關于Web控件的開發,由于作者的期望是自己的控件被廣泛的使用,所以它支持cross-browser的出發點,和前面說的論壇類網站的出發點其實是相似的。有空了再討論一下不同復雜度的dhtml開發時cross-browser支持解決方案。
總結
以上是生活随笔為你收集整理的关于对cross-browser支持的一些看法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 今晚解决了ActiveSync不能连接到
- 下一篇: .net事务的困扰,请大虾指点。