gpt4 book ai didi

Javascript 全屏在 JSFiddle 中不起作用

转载 作者:行者123 更新时间:2023-11-30 15:58:41 26 4
gpt4 key购买 nike

我正在 JSFiddle 中测试全屏切换 (Javascript),但它无法正常工作。我正在使用 Chrome。

这是我的示例 JSFiddle:

https://jsfiddle.net/richardcwc/99874pyx/

有谁知道为什么切换全屏不起作用?

$('#button').on('click',function() {
if(document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement) {
alert('exit fullscreen');
if(document.exitFullscreen) {
document.exitFullscreen();
} else if(document.msExitFullscreen) {
document.msExitFullscreen();
} else if(document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
} else {
alert('enter fullscreen');
if(document.documentElement.requestFullscreen) {
document.documentElement.requestFullscreen();
} else if(document.documentElement.webkitRequestFullscreen) {
document.documentElement.webkitRequestFullscreen();
} else if(document.documentElement.mozRequestFullScreen) {
document.documentElement.mozRequestFullScreen();
} else if(document.documentElement.msRequestFullscreen) {
document.documentElement.msRequestFullscreen();
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" id="button" value="test fullscreen toggle" />

最佳答案

您的代码有效。问题出在 JSFiddle 上,它阻止全屏工作。

具体来说,它不起作用,因为 JSFiddle 在 iframe 中运行您的代码。根据W3 spec :

To enable content in a nested browsing context to go fullscreen, it needs to be specifically allowed via the allowfullscreen attribute of the HTML iframe element. This prevents e.g. content from third parties to go fullscreen without explicit permission."

如果您使用此代码创建一个文件,然后在 chrome 中打开它,您会看到全屏效果。

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://code.jquery.com/jquery-2.2.4.js" integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI=" crossorigin="anonymous"></script>
</head>
<body>
<input type="button" id="button" value="test fullscreen toggle" />
</body>

<script>
$(document).ready(function() {
$('#button').on('click',function() {
if(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement) { //in fullscreen, so exit it
alert('exit fullscreen');
if(document.exitFullscreen) {
document.exitFullscreen();
} else if(document.msExitFullscreen) {
document.msExitFullscreen();
} else if(document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if(document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
} else { //not fullscreen, so enter it
alert('enter fullscreen');
if(document.documentElement.requestFullscreen) {
document.documentElement.requestFullscreen();
} else if(document.documentElement.webkitRequestFullscreen) {
document.documentElement.webkitRequestFullscreen();
} else if(document.documentElement.mozRequestFullScreen) {
document.documentElement.mozRequestFullScreen();
} else if(document.documentElement.msRequestFullscreen) {
document.documentElement.msRequestFullscreen();
}
}
});
})
</script>

</html>

关于Javascript 全屏在 JSFiddle 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38088059/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com