
由于在瀏覽器市場上占有壓倒性的份額,微軟的IE瀏覽器不可忽視。雖然IE7的終版本將在今年晚些時候發布,但現在IE7終測試1(Internet Explorer 7 Release Candidate 1)已公開發布。這個版本讓你有機會搶先發現在使用這個新的瀏覽器查看網頁時遇到的應用程序問題。
下面我們簡單了解一下IE7。我主要強調可能會給開發者造成問題的領域和功能,以及有利于應用程序開發的工具。
跟上競爭步伐
無疑Mozilla的Firefox對微軟施加了壓力,使其生產一款改良的瀏覽器。迅速瀏覽IE7的界面就會得到大量的例子,特別是以下這些功能:新型標簽式界面、支持RSS、查看區域擴大、反間諜工具得到增強。特別從用戶的角度看,這些改善大大增強瀏覽器的功能;但是還有許多其它改進可能會直接影響到你的日常WEB開發工作。
標準
一段時間以來,網絡開發社區一直強烈要求IE支持更為廣泛的標準。IE7并不完全與CSS 2.1兼容,但它修復了IE6中的一些漏洞。這種情況明顯是由它無法通過Web Standards Project開發的Acid2瀏覽器兼容測試造成的。
微軟將無法提供真正的網絡標準兼容歸咎于向后兼容問題。確實,應用舊式、過時的web開發技巧的開發者由于缺乏IE7支持的真正標準而受到責備;確實,在開發基于網絡的界面時,網絡開發社區認為應使用CSS,但微軟并不贊同這一點。
在本文中,可以列舉IE7中的太多CSS改進和漏洞修復,但MSDN已做了詳細介紹。它提供IE7中的CSS改善及可能遇到的CSS問題。
開發工具
對標準的支持似乎是IE7有所欠缺的一個領域,但乍一看來,它提供的輔助開發的工具卻相當不錯。下面我們簡單概括一下IE7中的開發工具。
應用程序兼容性工具箱:幫助開發者查看IE7的應用程序兼容性日志。它還提供大量與IE7有關的信息,列舉已知的問題,以及處理可能發生的問題的辦法。
符號探測器:在網頁與參考文件中定位特殊字符串。微軟把它作為定位IE7不再支持的CSS hack(CSS hack是指我們為了兼容各瀏覽器,而使用的特別的CSS定義技巧。)的一個強大工具來宣傳。
開發者工具欄:包括操作和修復網絡故障的工具。
Fiddler:這是一個記錄計算機與互聯網間所有HTTP流量的HTTP調試代理。它通過IE7工具欄,作為一個單獨應用程序而安裝。
腳本調試器:允許你調試客戶和服務器端的腳本。(這一工具實際在今天才可用。我經常用它來定位客戶端JavaScript錯誤。)
用戶代理字符串應用工具:允許你操作瀏覽網站時識別所使用的瀏覽器的用戶代理字符串。這個工具允許你改變設置并識別任何阻止IE7的網站(并向微軟報告這些網站。)
無疑,開發者工具欄獲得大的改善。下面是一個你能通過IE7工具欄完成的任務列表:
●探究/操作網頁DOM。
●定位網頁中的特定元素。
有選擇地禁止特殊IE設置,如瀏覽器高速緩存、圖像顯示、cookie支持、CSS支持、彈出廣告攔截器等。
●查看HTML對象類名稱、ID及其它細節。
●概括表格、單元格、圖像與選定的標簽。
●確認HTML、CSS、WAI和RSS種子。將選中的網頁提交到一個確認網站,結果顯示在新窗口中。
●顯示圖像信息:大小、路徑信息和替換文本。
●重新調整瀏覽器窗口大小以適應新的分辨率。
●有選擇性的清除瀏覽器高速緩存和保存的cookie。
●獲得W3C規范及IE特定信息的鏈接。
●顯示標尺,幫助對頁面進行布局/設計。
●有選擇性的激活/禁止CSS解析。
雖然我不是IE7的擁護者,但我確實喜歡它的開發者工具欄。它大地改進了瀏覽器的功能。查看網頁DOM的功能對了解網頁的結構和元素大有幫助。另外一個重大改進是概述功能,它突出瀏覽器窗口中的特定元素(表格、區域等)。
后一個值得注意的功能為重新調整瀏覽器大小以適應新的另一種屏幕分辨率的能力。通過這項功能,對于應用程序在一個特定分辨率下的外觀,能夠迅速得到反饋。
許多其它非IE瀏覽器的擁護者會指出,這些功能在其它瀏覽器中早就存在一段時間了。雖然這是事實,但IE擁有這些功能確實不錯。
我對IE7的總體看法
我認為與以前的版本相比,IE7做了很大的改進。從用戶的角度看,這點尤為明顯,因為許多功能——如標簽式界面、內置RSS閱讀器、以及擴大的瀏覽器窗口空間等等——增強了瀏覽體驗。站在開發者的立場,我對微軟新版瀏覽器不能完全支持標準感到難過。由于這個原因,我們將被迫繼續利用CSS hack和其它方法來保證網絡應用程序在IE7中得到順利執行。
更多改善
新版IE的發布可能是一件你想忽視的事件,但它的市場優勢使得網絡開發者有必要熟悉與其有關的知識。雖然當前的測試版本讓我們大致了解了IE7終版的功能,但產品功能可能還會發生改變——可能會有漏洞修復。微軟主辦的IEBlog是了解IE7新開發情況的好地方。
Tony Patton擁有豐富的Java、VB、Lotus及XML方面的知識,是一個專業的應用程序開發人員。