Относительно window.innerWidth
и document.documentElement.clientWidth
,
Webkit (Chrome / Safari) утверждает, что innerWidth
меньше clientWidth
.
Требование Trident и Presto innerWidth
больше clientWidth
.
Геккон утверждает, что innerWidth
соответствует размеру clientWidth
.
Что такое правильное поведение , заявленное W3C (или silimar "авторитетом")?
Тестовый скрипт ( на JSFiddle ) (на GoogleHost ):
setInterval(function() {
var inner_w = window.innerWidth;
var inner_h = window.innerHeight;
var client_w = document.documentElement.clientWidth;
var client_h = document.documentElement.clientHeight;
var debug_msg = "inner: " + inner_w + "-" + inner_h + "<br>client: " + client_w + "-" + client_h;
document.getElementById("d").innerHTML = debug_msg;
document.title = debug_msg;
document.body.style.background = (client_w === inner_w && client_h === inner_h ? "green" : "red");
}, 60);
<div id="d"></div>
(Запустите фрагмент в режиме полной страницы и отмените максимизацию или «восстановите» окно. Наблюдайте debug_msg
, перетаскивая край окна, чтобы изменить его размер.)