Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 全屏模式打开后查找元素大小_Javascript_Html_Fullscreen - Fatal编程技术网

Javascript 全屏模式打开后查找元素大小

Javascript 全屏模式打开后查找元素大小,javascript,html,fullscreen,Javascript,Html,Fullscreen,我切换全屏模式 $("#myCanvas").webkitRequestFullscreen() 启用全屏模式后,如何查找画布的大小 我试着听“调整大小”事件和“webkitfullscreenchange”,但当它们发送时,画布大小还不是全屏的。我会把它放在评论中。。。但是现在看起来有点乱。。。xD 如果你要全屏,那么你想要的不是屏幕的实际大小吗?window.screen对象是否适合您?例如,window.screen.width或window.screen.availWidth 在我的

我切换全屏模式

$("#myCanvas").webkitRequestFullscreen()
启用全屏模式后,如何查找画布的大小


我试着听“调整大小”事件和“webkitfullscreenchange”,但当它们发送时,画布大小还不是全屏的。

我会把它放在评论中。。。但是现在看起来有点乱。。。xD

如果你要全屏,那么你想要的不是屏幕的实际大小吗?
window.screen
对象是否适合您?例如,
window.screen.width
window.screen.availWidth

在我的控制台中玩一会儿,我的假设是fullscreenchange事件是在样式重新绘制和绘制更改事件之前触发的。在chrome中,我能够通过将代码放在double requestAnimationFrame调用中获得正确的大小报告(从而将代码延迟到下一帧)

所以你的代码可能看起来像

document.onwebkitfullscreenchange=((evt)=>{
requestAnimationFrame(()=>{
requestAnimationFrame(()=>{
//您需要在此处计算元素大小的代码
log(document.querySelector('.container').getBoundingClientRect().width);
});
});

});你能提供一个工作示例吗?我认为一个示例在SO代码段中不起作用,因为它是一个iframe,
webkitRequestFullscreen
对iframe中的元素不起作用,因为这可能不是一个“规则”,但既然有内置代码段,为什么还要使用外部站点呢?@RobbieMilejczak这是一个社区。你提出了一些对这个问题毫无价值的建议。我想那是因为你不知道片段,所以我告诉你了。如果是为了社区的利益,它不会出轨。@RobbieMilejczak你说在上面添加一把小提琴-这将在上面的问题中起作用,而不会在问题中添加更多的代码,因此所有重现问题所需的代码都不会在问题中。我们所说的是要一个片段而不是一把小提琴,你是一个有很大问题的人,不知道为什么,只是键入片段而不是小提琴。我只是想告诉你为什么最好要一个片段。如果你想这么爱争论,老实说,我会用我的投票结果继续,因为我目前正在对整个窗口进行全面筛选,单个元素可能会产生不同的效果,尽管这可能是他们想要的,但问题并不十分清楚。