【问题标题】:javascript:find screen resolution when having multiple monitorsjavascript:在拥有多个显示器时查找屏幕分辨率
【发布时间】:2010-01-25 17:32:09
【问题描述】:

我正在使用这段代码来确定客户端屏幕分辨率,然后记录它

<input type="hidden" id="DFF63C7E-FB32-49AE-8ADA-3AB5C4834FB0" name="DFF63C7E-FB32-49AE-8ADA-3AB5C4834FB0"/>
 <input type="hidden" id="565C07CF-0D37-41DE-B47D-A247E9BD231B" name="565C07CF-0D37-41DE-B47D-A247E9BD231B" />
<script type="text/javascript" language="javascript">
         document.getElementById("DFF63C7E-FB32-49AE-8ADA-3AB5C4834FB0").value = screen.width;  
         document.getElementById("565C07CF-0D37-41DE-B47D-A247E9BD231B").value = screen.height;
</script>

在我的 localhost 中测试时运行良好,但我从生产日志中发现屏幕分辨率始终为 480x640。有谁知道为什么会这样?

我做了更多的挖掘,发现我可以改变我的主显示器的分辨率,无论我是否在主显示器/辅助显示器中打开我的浏览器,它总是会给我主显示器的分辨率。

有什么方法可以根据浏览器打开的显示器来获取屏幕分辨率?

显然,下一个问题是,如果分辨率在中途发生变化(比如从控制面板)或将浏览器从一个移动到另一个,有没有办法用 JS 检测/更新它?

【问题讨论】:

  • 480x640 是一种特殊的分辨率,就像手机处于纵向模式一样。这是一个智能手机网站吗?无论浏览器如何,它都会报告此值?
  • 它是一个“内部”网站,用户只使用 IE。不,它不适用于智能手机

标签: javascript screen browser multiple-monitors screen-resolution


【解决方案1】:
  1. 可能是您的生产 PC 确实具有 640*480 的屏幕分辨率。有理由怀疑吗?
  2. Javascript 无法离开其虚拟机来查看真实主机,因此您必须以检测屏幕分辨率的相同方式实现更新机制,无论它是什么。

【讨论】:

  • >>1。客户端正在访问生产服务器,我正在尝试找到客户端的解决方案。我认为生产服务器的分辨率在这里并不重要(如果我错了,有人会纠正我)
【解决方案2】:

将以下行添加到您的页面。

window.moveTo(0,0); window.resizeTo(screen.availWidth,screen.availHeight);" 

它会将您的窗口大小调整为全宽和全高..

例如使用

<body onload="window.moveTo(0,0); window.resizeTo(screen.availWidth,screen.availHeight);" >

【讨论】:

    【解决方案3】:

    试试这个来获取窗口的尺寸:

    window.document.width //Get the width
    window.document.height //Get the height
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-09
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多