如何使用Javascript和滚动条帐户检测用户窗口的宽度?(我需要滚动条内屏幕的宽度).这是我的...它似乎在多个浏览器中工作...除了它不考虑滚动条..
function browserWidth() { var myWidth = 0; if( typeof( window.innerWidth ) == 'number' ) { //Non-IE myWidth = window.innerWidth; } else if( document.documentElement && document.documentElement.clientWidth ) { //IE 6+ in 'standards compliant mode' myWidth = document.documentElement.clientWidth; } else if( document.body && document.body.clientWidth ) { //IE 4 compatible myWidth = document.body.clientWidth; } return myWidth; }
有任何想法吗?我需要它在所有浏览器中工作;)
如果您只对宽度感兴趣,那么(明显令人讨厌的)解决方法是创建1px x 100%div并使用其offsetWidth.在IE> = 7,FF,Chrome浏览器,Safari和Opera(我没试过IE6,因为我们正在努力为you're,幸运-IT-作品不惜一切那么鸵鸟政策抱怨 - 这些天 - 关于渲染 - 古怪的政策.我将div.off与属性挂起{ position: 'absolute', top: '-1px', left: 0, width: '100%', height: '1px' }
,在第一次需要时创建它.
如果你可以忍受它的工作.
您将在quirksmode.org上找到此页面上哪些浏览器支持哪些属性的大摘要.
你最好的选择可能是在页面中获取一个元素(使用document.body支持,或者document.getElementById或其他),遍历其offsetParent链以找到最顶层的元素,然后检查该元素的clientWidth和clientHeight.