Javascript 如何在浏览器中检测(并纠正?)各种滚动条可视性?

Javascript 如何在浏览器中检测(并纠正?)各种滚动条可视性?,javascript,jquery,html,css,cross-browser,Javascript,Jquery,Html,Css,Cross Browser,基本上,当内容相同时,我需要在textarea和div中(带空白:预包装,以便将空白视为相同)同时显示(或伪造)滚动条 在Webkit中,这很简单: textarea.foo, div.foo { overflow: auto; /* show scrollbars exactly when needed */ /* also match padding, height, width, font, line-height, etc. */ } 但其他一些浏览器(我认为是OS X上的Fi

基本上,当内容相同时,我需要在
textarea
div
中(带
空白:预包装
,以便将空白视为相同)同时显示(或伪造)滚动条

在Webkit中,这很简单:

textarea.foo, div.foo {
  overflow: auto; /* show scrollbars exactly when needed */
  /* also match padding, height, width, font, line-height, etc. */
}
但其他一些浏览器(我认为是OS X上的Firefox和IE7)在内容不够长而不需要滚动时,实际上只会在文本区域而不是div上显示滚动条(反之亦然)


为了清楚起见,我并不要求滚动条在所有浏览器上显示相同的内容。我需要在所有主要的浏览器中都做到这一点:div和textarea在同一个浏览器中,在给定相同内容的情况下,当其他元素显示滚动条时,就会准确地显示滚动条。如果这是有时,总是,或(在Safari/OS X Lion上)从来都不是无关紧要的。

将滚动条配置为始终显示

textarea.foo, div.foo {
  overflow-y: scroll; /* Show vertical scroll bars at all time 

}

这可以在需要它的浏览器中工作,但是有没有办法检测是否发生了不匹配?