Chrome过去常常在其媒体查询中不正确地排除滚动条。这意味着,对于1000px的可见空间和17px滚动条,其他浏览器会报告1017px作为媒体查询的宽度,但webkit浏览器(如Chrome和Safari)不会这样做。
这些浏览器可能达到一个特定的大小,滚动条会出现在一个分辨率中,然后将分辨率更改为另一个分辨率,然后它会回到它没有的时候......解决方案导致一个丑陋的空白滚动条应该出现的空间,但它没有。它看起来像一个小故障,并且DOM调整大小的事件没有正常启动,所以它不是你可以在JS中正确反应的东西。
然而,现在在Chrome 29中,这似乎已经改变了。现在,他们将关注规范的工作原理,并在其媒体查询计算中包含滚动条......就像Firefox和Internet Explorer(以及规范如何说它们应该一直都有)。这修复了错误,但是导致另一个问题,即现在尝试检测Chrome / Safari问题的JS会产生误报,因为它不是新版Chrome的问题,我最终也会假设Opera和Safari。 / p>
鉴于所有这一切,我无法在Chrome或Webkit中修复任何信息。我讨厌不得不在我的JS中使用浏览器版本测试来解决这些缺陷,但我只是暂时猜测Chrome 29+作为临时补丁而且会喜欢权威的答案......我已经在Safari 6.0中测试过了.5,但旧方法仍在使用......
有人知道修复了哪个版本的Chrome和/或Webkit吗?
答案 0 :(得分:2)
从Chrome v.28开始,Chrome不再使用webkit引擎,它现在使用Blink渲染引擎。所以除非你以前的版本需要它,否则不需要为chrome检测它。
有关Blink的更多信息:Blink Documnetation
有关发布的更多信息:Next Web Article on Webkit/Blink Switch