웹 페이지 본문의 높이를 얻으려고합니다. 100 % 줌으로 HD 화면에 페이지를로드 할 때의 가치가되기를 바랍니다.
요점은 메타 데이터의 뷰포트를 변경하고 모바일 브라우저가 전체 페이지를 한 번에로드하도록 강제하고 디자인의 응답 성을 차단하는 것입니다.
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);
이 기능이 작동하지만 컴퓨터 또는 전화에서 페이지를 열 때 두 가지 다른 값을 제공합니다.
HD 화면이있는 컴퓨터에서는 944를, 전화기에서는 2044를 얻습니다. 944가 올바른 값입니다.
감사
문제는 증가 된 픽셀 비율로 웹 페이지를 렌더링하는 높은 픽셀 밀도의 전화기를 가지고 있다는 것입니다. window.devicePixelRatio
이를 고려하여 높이를 나눕니다 .
참고 : 높이를 얻는 방법이 특히 이상적이라고 생각하지 않습니다. 5 개 중 가장 큰 값을 선택하는 대신 하나의 값만 사용해야합니다. 아마도 window.innerHeight
속임수를 쓰겠습니까?
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다