2010-11-30 57 views
11

我正在處理我的第一個需要我擔心跨瀏覽器兼容性的項目。由於這是我第一次這樣做,我不知道如何去完成這個項目。我特別擔心IE。我應該在一個更優雅的瀏覽器中完成我的項目,然後將它在IE中工作,還是應該同時在兩種環境中構建我的程序?構建跨瀏覽器兼容網站的時間順序是什麼?

+0

夥計,這是IE ... – tpow 2010-11-30 01:18:33

+0

@Anders:我懷疑你會因此而惹火。大多數人會簡單地認爲你是來自平行宇宙的訪問者,其中QuirksMode在Internet Explorer列中顯示的比Safari瀏覽器更綠。 – Chuck 2010-11-30 01:24:24

+0

@Anders:我真的很希望你只是在曳... – 2010-11-30 01:29:31

回答

6

設計您的網站首先在標準投訴瀏覽器中工作。我總是從Firefox開始,即使在我公司的Intranet上開發(每個人都使用IE)。這樣做會讓你專注於讓你的標記和CSS正確。這是最重要的。

需要注意的重要一點是,您需要爲您的網站提供「未來證明」,並專注於符合標準的瀏覽器將幫助您做到這一點。

然後,一旦您確信您的網站看起來正確(validators是您的朋友!),請在您想支持的IE版本中試用。爲了讓你的佈局在IE中看起來不錯,我強烈建議你使用conditional comments來爲每個版本的IE使用不同的樣式表。

另外,你應該注意到許多其他人和你一樣處於相同的場景中,並且有相當多的幫助。一種迫使IE行爲的流行方法是ie-7.js project

最後,心頂端IE缺陷的,如:

0

有很多的馬麗娟工具,使生活了很多容易對您有例如一個名爲blueprint你可以使用 CSS框架,它已經一切爲了每一個特定的瀏覽器設置,讓你在所有瀏覽器得到相同的結果。並且使用jquery作爲您的javascript框架並不會增加額外的保險,您可以在大多數瀏覽器中使用它。

但記住沒有100%跨瀏覽器兼容性的所有瀏覽器和世界上所有版本的東西。

+1

http://lesscss.org/和http://sass-lang.com/更好的藍圖。最後一個框架生成HTML,它不包含位置CSS樣式,例如`span-8`:class`comment`好得多 – 2010-11-30 01:10:48

+0

這只是一個建議。正如我所說的那裏有很多的工具,你應該使用任何你感到舒服,並找到最簡單的使用,我喜歡藍圖,我發現它滿足我所有的需求。 – Breezer 2010-11-30 01:16:57

1

我開發用於Firefox首先,然後解決IE肛交問題。我很少「劈」它,而是找到可以在兩者中使用的東西,或者最差使用IE條件註釋。只需一個編碼員的偏好。總是一個好主意,也可以用Safari進行測試。

Firefox的兩大優勢是:錯誤控制檯和Firebug插件。

6

一些提示:

  1. 守則標準 —開始通過確保你剛剛研製出在Firefox和Chrome的作品,然後驗證它在IE。我通常會在Safari中檢查它。最好確保你的標記/代碼先在符合標準的瀏覽器中運行。
  2. 驗證月初,驗證通常 —你不想你的設計看起來很完美的一個瀏覽器,發現它在另一個壞了,發現到修復損壞的佈局,你需要糾正一些無效的HTML/CSS,只是發現現在第一個瀏覽器看起來不對。
  3. 漸進增強 —將是你的朋友。從簡單的HTML和簡單的CSS開始,基本沒有任何JavaScript。重複提示#1和#2,然後轉到更復雜的樣式和佈局。繼續這個迭代過程,直到你對所有瀏覽器中的設計感到滿意爲止。只有這樣你才能考慮使用JavaScript來打磨網站。
  4. 經常檢查每個瀏覽器 —不要在Firefox等單一兼容的瀏覽器中開發整個網站,然後決定在IE中「查看中斷」。如果您有一個複雜的動態網站,那麼在Internet Explorer中可能會遇到許多問題。試圖破譯每一個,當他們在彼此複合是一場噩夢。
  5. 重置樣式表 —作爲@Eir在評論中提到,找到一個很好的重置樣式表。儘管對某些人來說他們有fallen out of favor,但我發現從一開始就將每個瀏覽器放在同一個基礎上的幫助非常大。
  6. 使用框架 —我發現CSS框架是過度的,但有些人發誓,由他們自己。另一方面,只要你已經進入開發的JavaScript階段,我強烈推薦使用jQuery或MooTools。他們非常專注於規避跨瀏覽器不一致問題。
  7. JSLint傷害你的感受 —即使使用JavaScript框架,JSLint也會幫助你符合某些編碼標準。有些選項有些過於嚴格,但我保證,如果您在開發過程中經常通過此工具清理腳本,那麼幾乎從不會在遇到那些奇怪的時刻,當所有瀏覽器都工作時除IE

還有一些很棒的工具!以上列表中的所有內容您都應該考慮必修練習。下面可以在緊要關頭香料它適合你,但可選:

  1. CSS Browser Selector —這是罕見的,你會需要這個,但如果一切都失敗了,這比使用單獨的樣式表,公正的方式冷卻器對於一個瀏覽器(我鄙視有條件的評論)。它基本上將類添加到您的<html>標記中,因此您可以在主樣式表中執行以下操作:.ie7 #header {/*stylese here for IE7 only*/}。它支持許多操作系統上的很多瀏覽器。而且速度很快。
  2. Browsershots —沒有什麼比真實的東西,但如果你不能安裝套件瀏覽器,這和other tools like it可以提供幫助。
  3. IE6 CSS Fixer —我斷然拒絕調試我的設計中的IE6。我強迫我的公司(通過與IT和管理層進行許多令人懊惱的會議)放棄對它的支持(感謝上帝)。浪費這麼多時間來強迫這堆廢物只是適得其反。......無論如何,如果你不像我一樣需要支持IE6,這個工具可以提供幫助。
2

OOOOOO,很好的問題:

這裏是我的看法:

  1. 決定哪些瀏覽器要支持。我建議IE 7 + 8,FF,Chrome和Safari按重要性排列。 (如果您絕對必須支持IE6!)。如果您在這裏瞭解您的用戶羣,它會有所幫助
  2. 使用css重置。不同的瀏覽器有不同的默認樣式。一個CSS重置給你一個一致的基礎。
  3. 保持您的標記儘可能簡單。遵循標準(並且在斯蒂芬的回答中看到逐漸增強)。
  4. 在目標瀏覽器上測試每一步的方法。這樣你就可以立即糾正問題。 http://crossbrowsertesting.com/是最好的資源,但也有免費的截圖。
  5. 儘量避免黑客行爲。大多數跨瀏覽器的問題可以在不訴諸黑客的情況下解決。
  6. 當你卡住的時候在這裏問問題。如果這是您的第一個處理瀏覽器的項目,那麼您會因不一致而感到困惑。我們都面臨這些問題,並很樂意提供幫助。
  7. 確保網頁在所有瀏覽器中看起來不會完全相同。 (再次看到漸進式增強)。

祝您好運!

0

理論上最好的辦法是制定所有的瀏覽器一次,永遠爲每一個瀏覽器測試......

實際上,很少發生......我主要開發/測試與Firefox。當我介紹複雜的JavaScript或CSS,我檢查ie ...這個工具是非常方便的一次檢查所有版本...谷歌即測試人員。

通過檢查定期所有的瀏覽器,當你做出複雜的變化,可以確保主要特點是compatable :)

此外,確保所有的代碼是有效的,不僅很好的做法,而是幫助確定跨瀏覽器問題..谷歌w3schools驗證:))

使用JavaScript庫,如jQuery也有助於跨瀏覽器兼容性,有些甚至還帶有CSS庫。這些庫專門爲通過跨瀏覽器保證的快速可靠功能而構建。

最後,啓動之前,使用launchlist檢查所有作品:http://lite.launchlist.net/

希望所有有意義,你的第一個項目:)

3

你也應把重點放在像this

重置CSS幫助