如何检测浏览器窗口中是否存在滚动条

How to detect if there actually is a scrollbar in a browser window

本文关键字:窗口 是否 存在 滚动条 浏览器 何检测 检测      更新时间:2023-09-26

我试图检测是否实际上有一个滚动条显示在浏览器窗口。像这样的问题的答案可以检测内容是否可以滚动,但考虑到现代的操作系统和浏览器,这并不总是意味着实际上总是有一个滚动条。有人知道这是可能的吗?

function getScrollBarState() {
    var result = {vScrollbar: true, hScrollbar: true};
    try {
        var root = document.compatMode=='BackCompat'? document.body : document.documentElement;
        result.vScrollbar = root.scrollHeight > root.clientHeight;
        result.hScrollbar = root.scrollWidth > root.clientWidth;
    } catch(e) {}
    return(result);
}

来自:我如何检测浏览器窗口上是否有滚动条?

或者:

if (document.height > $(window).height()) {
  alert('VERTICAL SCROLLBARS');
}

使用jQuery编辑