3

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

<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>

在我的本地主机中测试时它工作正常,但我从生产日志中发现屏幕分辨率始终为 480x640。有谁知道为什么会这样?

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

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

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

4

3 回答 3

0

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

window.document.width //Get the width
window.document.height //Get the height
于 2010-01-25T18:09:39.567 回答
0
  1. 可能是您的生产 PC 确实具有 640*480 的屏幕分辨率。有理由怀疑吗?
  2. Javascript 无法离开它的虚拟机来查看真实主机,因此您必须通过检测屏幕分辨率的相同方式来实现更新机制,无论它是什么。
于 2010-01-25T17:39:21.373 回答
0

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

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

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

例如使用

<body onload="window.moveTo(0,0); window.resizeTo(screen.availWidth,screen.availHeight);" >
于 2012-02-22T05:21:06.597 回答