javascript - 检测窗口宽度并补偿滚动条 - Javascript

标签 javascript screen width

如何使用 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,因为我们正在努力让你很幸运,它可以正常工作,所以不要提示-关于这些天的渲染奇数政策)。我用属性 { position: 'absolute', top: '-1px', left: 0, width: '100%', height: '1px' } 将 div 卡在 document.body 上,在第一次需要时创建它。

如果你能忍受它就可以工作。

关于javascript - 检测窗口宽度并补偿滚动条 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/596072/

相关文章:

javascript - 在页面底部加载站点

html - 响应式设计不适用于较小的设备

Android记录屏幕并流式传输

按钮和 div 元素的 CSS 宽度不同

javascript - 无法将换行符转换为中断

javascript - 在给定数组上使用方法之前,如何省略检查数组长度?

javascript - 函数内输入未定义的值

android - 当应用程序以兼容模式运行时,如何获取实际屏幕尺寸

WPF 高度/宽度

swift - iOS8 Swift 中的 UIPickerView 宽度