2017-02-16 2 views
3

문서 및 예제를 살펴본 결과, "onfullscreenchange"이벤트 및/또는 "document"요소의 변형 ("onwebkitfullscreenchange"등)을 수신 대기 할 방법이 없습니다. 내가 성공하지 않고 노력했습니다 무엇각도 2 및 전체 화면 API

:

/*method 1*/  
host: { 
     '(document:onwebkitfullscreenchange)': 'fullScreen()' 
    } 
/*method 2*/ 
    @HostListener("document:onwebkitfullscreenchange", []) fullScreen() {} 
/*method 3*/ 
    renderer.listenGlobal('document', 'onwebkitfullscreenchange', (event) => {}) 

같은 onclick 이벤트로 일반적인 이벤트와 위의 모든 작업.

fullscreen API을 Angular 2와 통합하는 방법을 찾거나 다른 아이디어 나 제안 사항이있는 방법에 대해 알고 싶으면 도움을 주시면 감사하겠습니다.

편집 : 도움이되는 자료를 가르쳐 주시면 (부분적 으로라도)이 자료가 훼손 될 수 있으므로 크게 감사하겠습니다. 고맙습니다!

답변 document:webkitfullscreenchange (등 다른 브라우저 용)

답변

3

onfullscreenchange 이벤트 유형 같은 건 없다. 즉, 이벤트 핸들러, 그래서 (정말이 일의 "각도의 방법"아니다으로, 그러나 아마는 안) 당신은 할 수 :

document.onfullscreenchange =() => console.log('fullscreenchange event fired!'); 

그러나 fullscreenchange 이벤트가있다, 그래서이 작동합니다 고급 :

@HostListener("document:fullscreenchange", []) fullScreen() {} 
+0

은 "onfullscreenchange는"표준입니다,하지만 당신은 API에 대한 설명서를 보면 https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API 당신은거야 각각의 브라우저가 표준이 아닌 다른 이벤트 핸들러를 구현한다는 것을 알아라. 내가 틀린 것을 읽지 않는다면 말이다. 그건 그렇고, 난 그냥 작동하지 않는 당신의 제안을 테스트했습니다. 아마도 나는 뭔가를 놓치고 있지만 그것을 이해할 수는 없습니다. –

+0

실제로 chrome document : webkitfullscreenchange에 접두어가 붙습니다. 그러나 그것은 효과적이다. 그러나 어떤 이유로 F11, 기본 키 바인딩으로 전체 화면으로 표시하는 경우 이벤트가 트리거되지 않습니다. 리스너를 통해 F11/ESC에서 각각의 키 코드를 수동으로 트리거합니다. –