인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

열씨미살자!님의 프로필 이미지

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

인피니트 스크롤링 적용하기

scroll 표준/비표준 질문

작성

·

227

0

안녕하세요. 실무에서 선생님께 배운 코드를 토대로 무한스크롤을 구현 해보기 위해 구글링을 하면서 질문이 생겼습니다.

1. scrollHeight 질문

https://ko.javascript.info/size-and-scroll-window#ref-58 에 따르면 

브라우저별 오류로 인해 scrollHeight같은 경우 

let scrollHeight = Math.max( document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight );

로 작성해야 된다고 나와있습니다. 이 부분은 이렇게 진행하는게 좀 더 확실할까요?

2. scrollY vs pageYoffset 질문

window.scrollY, window.pageYoffset는 둘다 표준인가요? mdn에 따르면 브라우저 호환성을 위해 window.pageYoffset을 쓰는 것이 좋다라고 나와 있던데 can i use에서 window.scrollY를 쳐서 ie9를 클릭해보니 use none-standard pageYoffset이 되어있어서 질문드립니다.

https://caniuse.com/?search=scrollY

3. 현업에서 Intersection Observer 질문

현업에서 이 api를 사용하는지 궁금합니다. 예전 nuxt 강의 댓글에서  Intersection Observer가 공식 스펙이 아니라는 답변을 봤었는데 이 부분은 지금 공식 스펙으로 변경된건가요 ? mdn에 none-standard라는 글이 없어 질문드립니다.

답변 3

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

working draft는 사실상 초안입니다. 근데 같은 초안이더라도 css의 초안이랑 js쪽의 초안이랑 느낌이 아예 다릅니다. css쪽은 초안이어도 워낙 오래돼서 괜찮습니다.

0

열씨미살자!님의 프로필 이미지

답변 감사합니다! 한가지만 더 질문드리겠습니다. 표준/비표준을 따지기 위해서는 mdn 사이트에서 Specification의 status를 보면 working draft라는 것은 표준을 향해 작업중이라는 뜻일까요? scrollY, pageYoffset도 working draft 상태라 조금 헷갈립니다

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

1. 네 크로스브라우징 들어가면 복잡해집니다. 저렇게 하면 가장 높은 높이를 구할 수 있으므로 저게 안전한 것 같습니다.

2. pageYoffset이 ie에서도 돌아갑니다. scrollY를 하면 안 돌아가고요. 그래서 pageYoffset이 호환성이 더 좋다고 하는 겁니다. 둘 다 표준입니다.

3. 아직 표준은 아닙니다. working draft이긴 한데 이제는 써도 될 것 같습니다.