2017-04-20 301 views
-1

澄清:
1.通过浏览器全屏我的意思是浏览器窗口,而不是DOM窗口。
2.我不想要一个jQuery的答案。
3.我真的不希望使用setInterval()方法 - 我在寻找某种事件监听器类似document.addEventListener('browserFullScreen', doStuff())浏览器FullScreen事件监听器 - Javascript?

我知道,如果通过fullscreen API全屏可以检测到DOM窗口 - 但这是真正的全屏 - 即F11。我需要一种方法来检测用户是否在屏幕上拖动浏览器窗口,然后将其“捕捉”到屏幕顶部,然后使浏览器窗口全屏显示。

任何帮助将不胜感激。

+0

什么是这个你的使用情况? – Don

+0

谁downvoted?不酷。我正在调整对象的大小。 – hipkiss

回答

1

我想采取一种方法是在调整大小时,浏览器的外部宽度和高度比较屏幕的宽度和高度,如果双方的高度和宽度是相同的,分别则浏览器覆盖整个屏幕。

window.addEventListener('resize',() => { 
    const windowWidth = window.outerWidth; 
    const windowHeight = window.outerHeight; 
    const screenWidth = screen.width; 
    const screenHeight = screen.height; 

    if (windowWidth === screenWidth && windowHeight === screenHeight) { 
     // browser window is covering entire screen 
    } 
}); 
+0

如果将屏幕“捕捉”为全屏,则不会触发'resize'事件。 – hipkiss

+0

嗯我明白你的意思,这是为特定的操作系统? – Don

+0

理想的是跨浏览器。但至少铬和火狐。你能确认我不会疯狂吗?我刚在本页面的控制台中尝试过'window.addEventListener('resize',function(event){console.log(event)})'并触发了它?我把窗口拖到屏幕的顶部,它全屏显示,它工作?使用chrome。 – hipkiss