requestFullscreen으로 요소를 가득 채우십시오.
3422 단어 beginnerscsstutorialjavascript
Kent가 시작한 트윗 스레드 때문에 이것만 찾아봤습니다.
켄트 C. 도즈
아, 그리고 useLess라는 React 기반 css 전처리기는... useFull이 될 것 같습니다...
오후 14:03 - 2021년 1월 15일
그리고 React 후크
useFull
가 탄생했습니다! 😅참고::Dev.to는 iframe에 대한 권한을 허용하지 않습니다
fullscreen
. 즉, 데모를 가지고 놀려면 CodePen에서 데모를 열어야 합니다 👍요소를 전체 화면으로 만들기 위한 React 후크입니다.
그러나 이로 인해 Element API의 메서드
requestFullscreen
를 자세히 살펴보게 되었습니다.캠프 TL;DR에 있는 사람들을 위해
requestFullscreen
로 요소를 전체 화면으로 만들 수 있습니다(prefixes이 있습니다).요청에는 어떤 형태의 사용자 제스처가 필요합니다. 그것 없이는 전체 화면을 요청할 수 없습니다.
이 데모를 가지고 놀아보세요!
참고::
requestFullscreen
메서드에는 다른 접두사가 있습니다. 물론 그렇습니다! this article에 깔끔한 스크립트가 있습니다.데모를 살펴보는 이 스크린캐스트를 확인할 수도 있습니다!
왜요?
진실. 자주 사용하실 물건은 아닙니다. 일반적인 사용 사례? 미디어, 문서 등을 표시합니다. YouTube 동영상 등을 생각합니다.
어떻게?
다음과 같이 간단합니다.
const makeFullscreen = () => {
element.requestFullscreen()
}
이는 사용자 제스처의 결과로 발생해야 합니다. 예를 들어 버튼을 클릭한 결과로 요청을 할 수 있습니다.
BUTTON.addEventListener('click', makeFullscreen)
멋진 점은 무엇이든 전체 화면으로 만들 수 있다는 것입니다.
dialog
가 아닌 한 .변경 감지
전체 화면 모드일 때 어떻게 감지합니까? 메서드는
Promise
를 반환합니다. 하지만 모든 브라우저에 있는 것은 아닙니다 🤦♂️현재 가장 호환되는 방법은
fullscreenchange
에서 document
이벤트를 수신하는 것입니다. 그런 다음 document.fullscreenElement
가 있는지 확인합니다.document.addEventListener('fullscreenchange', () => {
if (document.fullscreenElement)
console.info('We are fullscreen!!!')
else
console.info('Do nothing...')
})
이렇게 하면 요소를 변경할 수 있는 깔끔한 후크가 제공됩니다. 예를 들어 다른 스타일을 적용할 수 있습니다. 위의 React 예제에서는 요소가 전체 화면 모드로 전환될 때 애니메이션을 트리거합니다.
fullscreenchange
에서 클래스를 추가/제거하여 이 작업을 수행합니다.퇴거
전체화면 모드에서 벗어나고 싶을 때
document.exitFullscreen()
그게 다야!
그게 전부입니다.
여기서 재미있는 점은 이것으로 무엇을 만들 수 있느냐는 것입니다. 그것을 가진 사람들에게 어떤 종류의 경험을 제공할 수 있습니까? 당신의 상상력은 당신을 어디로 데려가나요?
다른 어떤 멋진 브라우저 API를 가지고 놀 수 있습니까?
예를 들어 이 데모에서 입자 애니메이션은 버튼을 클릭할 때 발생합니다. 사용자에게 제공할 수 있는 "모의"화면 보호기와 같습니다!
참고::일부 비활성 후에 표시되는 전체 화면 화면 보호기를 생성할 수 없는 이유가 있습니다. 한가지 이유. 팝업을 생각해보세요!
굉장해!
Reference
이 문제에 관하여(requestFullscreen으로 요소를 가득 채우십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jh3y/make-your-elements-full-with-requestfullscreen-3hnk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)