Javascript 在iframe中检测全屏更改时出现问题

Javascript 在iframe中检测全屏更改时出现问题,javascript,html,iframe,fullscreen,Javascript,Html,Iframe,Fullscreen,我试图在iframe进入全屏时捕捉全屏更改事件,但在Safari中遇到了一些问题 当我从主文档请求全屏显示,然后从iframe请求全屏显示时,我在Safari中从未获得第二个全屏显示更改事件,否则在Chrome中看起来都不错 下面是一些说明我的问题的代码 var idoc = frame.contentDocument ? frame.contentDocument : frame.contentWindow.document; idoc.open(); idoc.write('<html

我试图在iframe进入全屏时捕捉全屏更改事件,但在Safari中遇到了一些问题

当我从主文档请求全屏显示,然后从iframe请求全屏显示时,我在Safari中从未获得第二个全屏显示更改事件,否则在Chrome中看起来都不错

下面是一些说明我的问题的代码

var idoc = frame.contentDocument ? frame.contentDocument : frame.contentWindow.document;
idoc.open();
idoc.write('<html><body><h1>Hello from iframe!</h1></body></html>');
idoc.close();

function fullscreen() {
    document.body.webkitRequestFullscreen();
}

function iframefs() {
    idoc.body.webkitRequestFullscreen();
}

function log() {
    console.log('document webkitFullscreenElement', document.webkitFullscreenElement);
    console.log('iframe webkitFullscreenElement', idoc.webkitFullscreenElement);
}

document.addEventListener('webkitfullscreenchange', () => {
        console.group("document");
    log();
    console.groupEnd();
})

idoc.addEventListener('webkitfullscreenchange', () => {
        console.group("iframe");
    log();
    console.groupEnd();
})

var idoc=frame.contentDocument?frame.contentDocument:frame.contentWindow.document;
idoc.open();
编写('Hello from iframe!');
idoc.close();
函数全屏(){
document.body.webkitRequestFullscreen();
}
函数iframefs(){
idoc.body.webkitRequestFullscreen();
}
函数日志(){
log('document webkitFullscreenElement',document.webkitFullscreenElement);
log('iframe-webkitFullscreenElement',idoc.webkitFullscreenElement);
}
document.addEventListener('webkitfullscreenchange',()=>{
控制台组(“文件”);
log();
console.groupEnd();
})
idoc.addEventListener('webkitfullscreenchange',()=>{
控制台组(“iframe”);
log();
console.groupEnd();
})

点击“全屏”和“iframe全屏”按钮后,我有
在Chrome上:
关于狩猎:

只有在Safari中单击“log”后,我们才能看到iframe WebKitFullScreeneElemen不为空:


有人知道为什么会发生这种情况吗?也许Safari有一些黑客攻击?

请根据网站规则在您的问题中添加一个。链接不足。误导性链接尤其有问题。@TylerH问题更新如果您想共享CodePen链接,请随时这样做。但是不要包含一个名为CodePen URL但指向另一个URL的URL——这是误导性的。