Chrome 61 본체가 스크롤되지 않음
scrollTop
body 요소에 할당이 더 이상 작동하지 않는 이유를 아는 사람이 있습니까?
예 : document.body.scrollTop = 200
문서가 스크롤되지 않도록합니다.
원인 : Chrome 은 버전 61에서 마침내 스크롤링 사양을 준수 했습니다.
솔루션 : scrollingElement 사용
예제를 다음과 같이 업데이트하십시오.
var scrollNode = document.scrollingElement ?
document.scrollingElement : document.body;
scrollNode.scrollTop = 200;
이 질문의 끝에 설명 된 솔루션 (을 확인 document.scrollingElement
하거나로 폴백 document.body
)은 지원하지 않기 때문에 document.scrollingElement
( docs ) IE에서 작동하지 않으며 IE에서 스크롤 요소는 HTML 요소입니다.
따라서 나는 이것에 대한 더 나은 해결책이 다음과 같을 것이라고 제안합니다.
var scrollNode = document.scrollingElement || document.documentElement;
모든 최신 브라우저에서 작동합니다.
참고로, scrollingElement
속성 이 루트 스크롤 요소를 얻기 위해 확인 / 대체가 필요 하지 않도록 만들기위한 유일한 목적으로 추가 된 것처럼 보이지만 더 많은 브라우저 비 호환성으로 인해 여전히 필요 하다는 점을 고려하는 것이 흥미 롭습니다. 를 사용하기위한 확인 / 대체 scrollingElement
.
웹 개발이 재미 있지 않나요?
이 코드를 문서 준비에 추가하고 작동합니다. 또한 잘못 배치 된 일부 툴팁에 문제가 있었고이 코드가 수정했습니다.
window.onload = function () {
var GetDocumentScrollTop = function () {
var isScrollBodyIE = ASPx.Browser.IE && ASPx.GetCurrentStyle(document.body).overflow == "hidden" && document.body.scrollTop > 0;
if (ASPx.Browser.WebKitFamily || isScrollBodyIE) {
if (ASPx.Browser.MacOSMobilePlatform)
return window.pageYOffset;
else if (ASPx.Browser.WebKitFamily)
return document.documentElement.scrollTop || document.body.scrollTop;
return document.body.scrollTop;
}
else
return document.documentElement.scrollTop;
};
var _aspxGetDocumentScrollTop = function () {
if (__aspxWebKitFamily) {
if (__aspxMacOSMobilePlatform)
return window.pageYOffset;
else
return document.documentElement.scrollTop || document.body.scrollTop;
}
else
return document.documentElement.scrollTop;
}
if (window._aspxGetDocumentScrollTop) {
window._aspxGetDocumentScrollTop = _aspxGetDocumentScrollTop;
window.ASPxClientUtils.GetDocumentScrollTop = _aspxGetDocumentScrollTop;
} else {
window.ASPx.GetDocumentScrollTop = GetDocumentScrollTop;
window.ASPxClientUtils.GetDocumentScrollTop = GetDocumentScrollTop;
}
};
이것이 당신을 도울 수 있기를 바랍니다.
참조 URL : https://stackoverflow.com/questions/45061901/chrome-61-body-doesnt-scroll
'programing' 카테고리의 다른 글
static_assert 출력에 유형 이름을 통합 하시겠습니까? (0) | 2021.01.16 |
---|---|
자바에 힙이 있습니까? (0) | 2021.01.16 |
자바 스크립트 객체 참조 또는 참조 횟수를 얻는 방법은 무엇입니까? (0) | 2021.01.16 |
react.js-어떤 확장자를 사용할까요- '.jsx'또는 '.js'? (0) | 2021.01.16 |
초기화에 lvalue에서 rvalue로 변환이 수반됩니까? (0) | 2021.01.16 |