2012-03-24 25 views
3

我見過很多本網站上的用戶在描述web開發錯誤時提供了操作系統規範,並且我已經看到了一些在一個操作系統上運行但不是另一個操作系統的實例。不同的操作系統對顯示網頁有多大影響?

讓我們說IE6在不同版本的Windows上處理的內容有什麼不同嗎?或者ubuntu上的完全相同版本的firefox,而不是mac?

這可能是一個noob問題,但我真的很好奇。

+0

最近,有人問到類似的問題:http://stackoverflow.com/q/9710412/。根據我自己的經驗,不同操作系統的瀏覽器之間可能存在一些差異,但這些差異通常涉及非常具體的功能。更動態的內容(包括插件)增加了不兼容的可能性。儘管如此,機會仍然很渺茫。 – 2012-03-24 21:16:49

+0

從我的做法來看:一個IE版本的瀏覽器在不同版本的Windows上同樣工作,我認爲這對Ubuntu/Mac OS也是一樣的規則。不同操作系統的不同系統錯誤(瀏覽器掉落時)可能會出現差異,但不會與Javascript/DOM/HTML層發生差異。 – sergzach 2012-03-24 21:22:38

回答

6

基本上有4個類別可以出現在網站上跨操作系統的bug(無意中;忽略諸如Web開發人員嗅探用戶代理並使用無法識別的結果,或使用只能在一個平臺上工作的插件(如Silverlight))的事情。有序中最常見的最常見,從我個人的經驗

  1. 假設有關字體和字距 - 如果用戶的操作系統不符合你自己的,你指定你的系統有一個字體即使指定了特定的點大小(小寫'm'應該匹配,但所有其他字符可以不同,如大寫字母的高度),文本的長度和可能的高度也不會完全相同。這可能會對固定大小的佈局造成嚴重破壞,特別是對於預計只有一行的標題。最近,可以通過購買「webfont」(通常包括舊的IE和新的現代標準Web字體)並在CSS中使用它來託管字體供用戶下載。這可以產生一個「閃光燈」,因爲一旦下載,渲染切換到它,所以你一定需要指定一個長的緩存時間。
  2. 關於表單元素的假設 - 由於這些HTML元素是由操作系統直接創建的,而不是由瀏覽器創建的,即使對於相同的瀏覽器,他們可能看起來不同,但在操作系統之間具有不同的大小和行爲。爲這些元素設計樣式會降低變化性,但某些表單元素(如<input type="file">)無法樣式化。只需在佈局中給他們一個很大的緩衝區。
  3. Buggy插件 - 即使插件存在於所有操作系統(如Flash)中,通常它們在Windows上運行得最好,然後Linux和Mac將其排在第二位(通常更多投入到Mac端口,但是在Linux上可能有維基指南來使它更好地工作,並且當爲你自動安裝插件時,發行版軟件包可能會使用這些技巧)。我所知道的唯一解決方案是,如果您是Windows開發人員,則可以使用Ubuntu或Fedora等Linux發行版的VirtualBox映像測試您的網站,並查看當您添加所有鈴聲時插件的性能如何差以及口哨,那麼假設Mac電腦的性能大致相同。
  4. HTML渲染器中的實際錯誤 - 可能發生這種情況,隨着瀏覽器開發速度的不斷提高,平臺之間的功能/缺陷奇偶性差距也在擴大。一般來說,瀏覽器的「本機」操作系統效果最好,其次是任何平臺最多使用它的平臺。我很少看到迴歸,所以一旦在瀏覽器的所有操作系統上工作,它基本上都會保持這種狀態。你必須做一些真正特別的事情來解決這個問題。
+0

謝謝。這正是我正在尋找的信息。 – Maxx 2012-03-25 02:12:15

0

這一切都取決於瀏覽器製造商,但根據我的經驗,他們非常接近相同的跨平臺,除了一些UI的東西。 Ubuntu可能是他們最不關注的操作系統,例如Windows和Ubuntu上的Firefox完全一樣。

就您的服務器運行的操作系統而言,Web開發是一個問題,在與文件系統進行交互時不是跨平臺的,但這不是您的問題。

+1

我幾乎沒有遇到過只有Ubuntu的瀏覽器bug。我見過的最新bug指向Mac。 – 2012-03-24 21:18:46

+0

我同意,我只是說如果會出現問題,它可能會在Ubuntu上結束,因爲不幸的是,大多數軟件製造商讓Linux在優先級列表中排在最後。 – ryandlf 2012-03-24 21:20:21

1

10年前,這個答案本來是一個響亮的答案。例如,Mac上的IE5是一個非常不同於Windows的代碼庫,並且呈現的東西有點不同。但是,對於現代瀏覽器來說,通常情況並非如此。

還有一些細微差別。例如,Mac上的safari(不確定關於FF)會使用mac風格的控件進行渲染,這些控件可能具有不同的大小,邊框,字體大小等等。這會在平臺之間造成細微的渲染問題,但通常不會擔心除非單個像素可能會弄亂您的設計。

字體是另一個問題,因爲不同的字體存在於不同的系統上,並且它們有不同的指標。

JavaScript渲染可能是瀏覽器之間的問題,但通常不同於不同操作系統上的相同版本。

最新流行的硬件加速,這可能是操作系統的不同,但一般應該只是導致呈現差異速度..

相關問題