2013-09-30 23 views
3

Chrome用於在其媒體查詢中錯誤地排除滾動條。這意味着,就媒體查詢而言,使用1000px的可見空間和17px滾動條時,其他瀏覽器會報告1017px的寬度,但webkit瀏覽器(例如Chrome和Safari)不會這樣做。帶有滾動條的Chrome媒體查詢更改

這些瀏覽器可能會達到一個特定的大小,其中滾動條將出現在一個分辨率中,然後將分辨率更改爲出現的另一個分辨率,然後返回到時它不會......解決方案導致醜陋空白區域顯示滾動條應該在的位置,但它沒有。它出來看起來像一個小故障,和DOM調整大小事件並沒有正確開火,所以它不是你可以反應正確的JS。

但是,現在在Chrome 29中,這似乎發生了變化。現在,他們正在關注規範的工作方式,並在他們的媒體查詢計算中包括滾動條......就像Firefox和Internet Explorer一樣(以及規範說明他們應該一直存在)。這樣可以修復錯誤,但是導致另一個問題,即JS現在嘗試檢測Chrome/Safari問題會產生誤報,因爲它不是新版Chrome的關注點,我最終還是假定Opera和Safari。根據所有這些,在Chrome或Webkit中修復此問題時,我無法找到任何信息。我討厭不得不在我的JS中使用瀏覽器版本測試來解決這些漏洞,但我只是盲目地猜測Chrome 29+是暫時的補丁,並且會喜歡一個權威的答案......我在Safari 6.0中進行了測試.5,但舊方法仍在使用...

有人知道Chrome和/或Webkit的哪個版本已修復嗎?

回答

2

從Chrome v.28開始,Chrome不再使用webkit引擎,現在它使用Blink渲染引擎。因此,除非您需要以前的版本,否則不需要檢測它。

欲瞭解更多關於眨眼:Blink Documnetation

欲瞭解更多關於發佈:Next Web Article on Webkit/Blink Switch

+0

是的,我確實需要檢測舊版本的不幸,因爲不是每個人都有的和所有的自動更新。無論如何,至少我知道什麼時候發生了變化。謝謝! –

+0

很高興能幫到你! –