JavaScript開發(fā)所面臨的不幸事實是,因為與實現(xiàn)和支持它的瀏覽器關(guān)聯(lián)過于緊密,它受到當前最流行瀏覽器的支配。由于用戶未必會使用對JavaScript支持得最好的瀏覽器,我們被迫對哪些是最重要的功能作出抉擇。 許多開發(fā)者已經(jīng)開始做的是去掉對那些導致過多開發(fā)障礙的瀏覽器的支持。因為它們用戶群的規(guī)模和還是因為它們擁有你喜歡的功能而考慮對瀏覽器的支持,需要仔細的權(quán)衡。 最近Yahoo發(fā)布了一個可用來擴展你的web應用程序的JavaScript庫。連同那個庫,它還發(fā)布了一些供web開發(fā)者遵從的指導方針。以我之見,從中產(chǎn)生的最重要的文檔是Yahoo支持與不支持的各種瀏覽器的官方的列表。盡管任何人或任何公司都可以做類似的事情,一份由互聯(lián)上訪問最頻繁的網(wǎng)站所提供的文檔,其價值絕對無法估量。 Yahoo開發(fā)了一個分級的瀏覽器支持策略,對瀏覽器指定特定的級別并依據(jù)其功能為它提供不同的內(nèi)容。Yahoo給瀏覽器三個級別:A,X和C: A級瀏覽器是得到完全支持和測試的,Yahoo的所有程序都能有保障在其中運行。 X級瀏覽器是Yahoo認可但是沒能徹底測試的準A級瀏覽器,或者是嶄新的從未遇到過的瀏覽器。X級瀏覽器被期望能處理高級的內(nèi)容,與A級瀏覽器等同對待。 C級瀏覽器是已知的“劣質(zhì)的”瀏覽器,不支持運行Yahoo應用程序所必須的功能。由于Yahoo應用程序完全Unobtrusive(即使沒有JavaScript它們也能繼續(xù)工作),這些瀏覽器只需處理不含JavaScript的功能性的內(nèi)容。 順便一提,Yahoo的瀏覽器級別選擇竟與我的不謀而合,這使得它尤其富有吸引力。在這本書里,我大量地使用了術(shù)語“現(xiàn)代瀏覽器”,當我用這一措詞的時候,我指的Yahoo瀏覽器分級表評定為A級的任瀏覽器。給定一組賴以工作的一致的功能,減少因避免瀏覽器的不兼容而帶來的痛苦,學習和開⒌木岜淶酶佑腥ぁ?lt;br> 我極力推薦你們?nèi)ネㄗx瀏覽器分級的支持文檔(見http://developer.yahoo.com/yui/articles/gbs/gbs.html,該文檔包含了圖1-6所示的瀏覽器支持表),感受一下Yahoo力圖實現(xiàn)的是什么。通過將些信息公之于web開發(fā)的大眾,Yahoo正在給出一條無價的“黃金標準”讓其它所有人去靠攏,這是很了不起的。
圖1-6. Yahoo提供的瀏覽器分組支持表
更多的關(guān)于瀏覽器支持情況的信息請參看本書的附錄C,那里對每種瀏覽器的缺點和長處都有深入的論討;蚨嗷蛏俚,你會發(fā)現(xiàn)所有的A級瀏覽器都走在發(fā)展的最前列,提供了遠遠超出你的開發(fā)所需要的功能。 當選擇你希望支持哪些瀏覽器時,最終結(jié)果實際上可以歸結(jié)為你的應用程序支持的一組功能。如果你想要支持NS4或IE5(舉個例子來說),則勢必嚴格地限制你可以在程序中使用的功能的數(shù)量,因為它們?nèi)狈ΜF(xiàn)代編程技術(shù)的支持。 盡管如此,了解哪些瀏覽器是現(xiàn)代的允許你利用其中可用的強大的功能并給你一個可供將來的開發(fā)所依據(jù)的穩(wěn)固的基礎。這一穩(wěn)固的開發(fā)基礎可由以下幾種功能所定義: 核心Javascript 1.5: 最近、最廣泛接受的JavaScript版本。它全面支持面向?qū)ο蟮腏avaScript。IE5.0不支持全部的1.5,這是開發(fā)者們不愿意支持它的主要原因。 XML文檔對象模型(DOM)2:用來訪問HTML和XML文檔的的標準方案。這絕對是編寫高效率的程序不可或缺的。 XMLHttpRequest: Ajax技術(shù)的支柱——用來發(fā)起HTTP請求的一個簡單層。所有的瀏覽器默認都支持這一對象,除了IE5.0-6.0;而它們也都支持用ActiveX初始化功能相當?shù)膶ο蟆?br> CSS: 網(wǎng)頁設計的基本需求。這似乎像是一個額外的需求,但是擁有CSS對web應用程序開發(fā)者來說是必不可少的。由于每一種現(xiàn)代瀏覽器都支持CSS,大多數(shù)問題的發(fā)生通常歸結(jié)為呈現(xiàn)方面的差異。這正是IE for Mac較少被頻繁支持的主要原因。 以上這些瀏覽器功能的結(jié)合構(gòu)成了開發(fā)JavaScript web應用程序的支柱。所有的現(xiàn)代瀏覽器都以某種方式支持以上列舉的功能。本書論述的所有內(nèi)容都基于這一假設:你所使用的瀏覽器最起碼能支持它們。
經(jīng)典論壇討論: http://bbs.blueidea.com/thread-2733431-1-1.html
本文鏈接:http://m.95time.cn/tech/web/2007/4617.asp
出處:藍色理想
責任編輯:moby
上一頁 Ajax 下一頁
◎進入論壇網(wǎng)頁制作、網(wǎng)站綜合版塊參加討論
|