如何获取浏览器窗口的左边缘(包括菜单、边框、标题等),而不将其“固定”以考虑缩放级别?(这个问题 回答了基本问题,但没有考虑缩放。)
window.screenLeft 或 window.screenX 在 Chrome 和 Safari 上运行良好,但在 IE6、IE8 和 Firefox 中报告“固定”值。
我已经考虑到可以更可靠地获取屏幕大小,并使用 screen.deviceXDPI 确定缩放因子,但我不确定如何使用它来纠正位置。
(你们中的一些人可能想知道为什么我想这样做。这是因为一个培训网站在用户屏幕的右侧打开一个浏览器窗口。浏览器使用脚本标记黑客与我的应用程序进行通信。应用程序想要调整自己的大小,以便完全适合浏览器窗口的左侧。)
编辑
我应该提到两件事:
1. 我正在询问您通常可以从 View 菜单或按住 Ctrl 并转动鼠标滚轮访问的浏览器缩放。由于大多数网页无法很好地响应(例如)默认字体大小的更改而不弄乱其布局,因此浏览器通过缩放所有测量值(包括像素)来实现缩放。为保持一致,它们还会缩放报告的客户端和窗口大小、鼠标位置等。对我而言麻烦的是,我想要真实的(未缩放的)度量。
2. 我正在寻找 JavaScript 解决方案。
window.screenLeft 或 window.screenX 在 Chrome 和 Safari 上运行良好,但在 IE6、IE8 和 Firefox 中报告“固定”值。
我已经考虑到可以更可靠地获取屏幕大小,并使用 screen.deviceXDPI 确定缩放因子,但我不确定如何使用它来纠正位置。
(你们中的一些人可能想知道为什么我想这样做。这是因为一个培训网站在用户屏幕的右侧打开一个浏览器窗口。浏览器使用脚本标记黑客与我的应用程序进行通信。应用程序想要调整自己的大小,以便完全适合浏览器窗口的左侧。)
编辑
我应该提到两件事:
1. 我正在询问您通常可以从 View 菜单或按住 Ctrl 并转动鼠标滚轮访问的浏览器缩放。由于大多数网页无法很好地响应(例如)默认字体大小的更改而不弄乱其布局,因此浏览器通过缩放所有测量值(包括像素)来实现缩放。为保持一致,它们还会缩放报告的客户端和窗口大小、鼠标位置等。对我而言麻烦的是,我想要真实的(未缩放的)度量。
2. 我正在寻找 JavaScript 解决方案。