我想知道是否有一种方法可以显示在用户调整屏幕大小时更新的用户屏幕信息。我见过只显示用户屏幕但不实时更新的 javascript。有人知道这个脚本吗?谢谢!
最佳答案
两个想法:
至少,当屏幕分辨率发生变化但浏览器窗口大小时,Chrome 不会触发window
上的resize
事件,但我怀疑浏览器不会在屏幕尺寸更改时触发(不过可能会触发,我想)。如果不是这样,用户可能会在调整屏幕大小后调整窗口大小......resize
没有。有时更改屏幕分辨率会产生更改浏览器大小的链式 react (例如,如果它需要更小,或者如果它以某种方式停靠),但通常不会。如果浏览器不能可靠地触发
resize
(我怀疑它们不会),您将不得不轮询并检查screen
对象以看看大小是否改变了。不理想,但每秒轮询一次左右不会有太多开销。
这是一个使用这两种方法的示例,加上 window.onfocus
as GitaarLAB建议:Live Copy
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Example</title>
</head>
<body>
<script>
(function() {
"use strict";
var lastSize;
window.onfocus = window.onresize = checkSize;
setInterval(checkSize, 1000);
function checkSize() {
if (!lastSize || (lastSize.width !== screen.width || lastSize.height !== screen.height)) {
lastSize = {
width: screen.width,
height: screen.height
};
display("Screen size is (now) " + lastSize.width + "x" + lastSize.height);
}
}
function display(msg) {
var p = document.createElement('p');
p.innerHTML = String(msg);
document.body.appendChild(p);
}
})();
</script>
</body>
</html>
当然,只有当窗口 调整大小和窗口焦点的通知不够时,您才需要轮询。
关于javascript - 如何在调整大小时显示用户的显示器分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25350742/