2013-07-04 124 views
0

javascript和css在不同瀏覽器中存在如此多的不兼容問題的主要原因是什麼?不同瀏覽器中的Javascript和CSS不兼容問題

例子: 的JavaScript和CSS在網頁瀏覽器中可以正常使用,但有不同的結果,在Web瀏覽器B.

爲什麼W3C允許在每個網頁瀏覽器不同的標準?

+0

一開始,蒂姆伯納斯李先生創建了萬維網,它很好... –

回答

1

W3C沒有權力在瀏覽器實現中允許或禁止任何操作。不同瀏覽器中的不同功能/錯誤/功能是不同公司在實現瀏覽器時做出自己選擇的產物。 W3C不能控制這些公司做什麼。

W3C試圖協調標準工作,以便瀏覽器實現者有希望選擇遵循標準。

當您在不同的瀏覽器中看到不同的行爲時,首先要查找的是您的錯誤實現。您可能在自己的HTML或CSS或JavaScript中出現錯誤,一些瀏覽器可以容忍,而另一些則不會。或者,您可能正在使用某些結構,這些結構並未被標準真正涵蓋,或者處於標準描述的邊緣。或者,您可能正在使用某種特定瀏覽器自己的附加功能,並且在各種瀏覽器中未得到廣泛支持。

例如,有許多其他瀏覽器不支持的特定於IE的功能(IE 9和更早的版本比IE 10更糟糕)。

這裏有一些問題,可能會導致跨瀏覽器問題的部分列表:

  1. 錯誤在你的HTML/CSS/JavaScript的只能由某些瀏覽器的耐受性。
  2. 標準仍在最終確定中,因此在不同瀏覽器中的實現(如CSS3現在)略有不同。
  3. HTML設計強調瀏覽器圍繞標準描述的限制。
  4. 使用第三方插件,可能在不同的瀏覽器中有略微不同的實現。
  5. 僅在部分瀏覽器中部分實現的標準。
  6. 在瀏覽器中使用專有或實驗性功能。
  7. 瀏覽器實現者做出的不同設計決定,其標準不完全清晰,或者對標準的含義有不同的解釋。
  8. 瀏覽器實現中的錯誤。
+0

那些瀏覽器廠商不同意他們的功能實現使跨瀏覽器網頁或polyfills需要存在的東西需要存在。但是,我不記得IE9和IE10中的特定功能比其他瀏覽器沒有。你能說出一個嗎? – a0viedo

+0

@ a0viedo - IE9具有特定於IE的過濾器/轉換,並在IE10移至CSS3時在IE10中刪除。 IE仍然支持ActiveX。 IE還有其他特定於Microsoft的擴展,如條件指令'<! - [if lte IE 9]>'等等。名單很長。 – jfriend00

+0

這不是在HTML草稿的任何版本中指定的,也不是由W3C處理的。將標準與特定瀏覽器供應商實施分開是一件好事。 – a0viedo