我正在尝试获取网页正文的高度。我希望它是在100%缩放时在高清屏幕上加载页面时的值。
这样做的目的是更改元数据中的视口,并强制移动浏览器立即加载整个页面,并阻止设计的响应性。
function calculateHeightOfBody() {
var body = document.body,
html = document.documentElement;
var height = Math.max( body.scrollHeight, body.offsetHeight,
html.clientHeight, html.scrollHeight, html.offsetHeight );
viewport = document.querySelector("meta[name=viewport]");
viewport.setAttribute('content', /*'width='+width+',*/ 'height='+height);
alert('height is ' + height);
我有这个功能它可以工作但是我在计算机或手机上打开页面时会给出两个不同的值。
在带有高清屏幕的电脑上我得到944,在手机上得到2044. 944是正确的价值。
由于
答案 0 :(得分:2)
问题在于你有一个像素密度高的手机,它可以使网页的像素比率提高。将高度除以window.devicePixelRatio
以说明这一点。
注意:我不认为你获得身高的方法特别理想。您应该只使用一个值,而不是仅选择5个值中的最大值。也许window.innerHeight
可以做到这一点?