检测多个监视器的屏幕宽度

时间:2012-02-23 05:42:00

标签: javascript screen-resolution

我的网站经过优化(固定宽度),适用于1024x768版面。对于分辨率宽度为1280或更高的用户,我计划在页面的任一侧添加垂直横幅。

使用screen.width,我可以很容易地做到这一点。但是在使用多台显示器的机器上尝试它时会遇到问题。

让我们假设下面提到的场景:
监视器1(主显示屏) - 分辨率为1024 x 768
监视器2(辅助显示) - 分辨率为1440 x 900

screen.width总是将宽度显示为1024,而不管我在浏览页面时使用的是什么。如果我将主监视器更改为监视器2,则反转这些值。

这对于具有1024x768分辨率作为主分辨率的人来说尤其是一个大问题。这意味着在这种情况下我可能会丢失横幅广告展示次数。

我真的很感激任何帮助。

2 个答案:

答案 0 :(得分:4)

尝试查看window.innerWidth(屏幕上的网页宽度),而不是window.screen.width

答案 1 :(得分:3)

感谢您的回复duskwuff。帮我编译了以下功能,为我解决了问题。

function getBrowserWith()
{
    if(($.browser.msie == true && $.browser.version == '9.0') || $.browser.webkit == true || $.browser.mozilla == true)
        return window.innerWidth;
    else if(($.browser.msie == true) && ($.browser.version == '7.0' || $.browser.version == '8.0'))
        return document.documentElement.clientWidth;
    else
        return screen.width;
}

重要提示

        
  1. 需要jQuery 1.4+
  2.     
  3. 请注意,上述功能仅针对IE7 +,FF7 +& Chrome16 +浏览器。