gpt4 book ai didi

javascript - Chrome 对 cancelFullScreen 和 webkitCancelFullScreen 返回未定义

转载 作者:行者123 更新时间:2023-12-02 20:24:41 26 4
gpt4 key购买 nike

我编写了一个简单的函数来在 Web 应用程序上切换全屏模式。该应用程序只需要在 Chrome 中运行(最终在 Kiosk 模式下部署),但 cancelFullScreenwebkitCancelFullScreen 似乎有一些奇怪的行为。

例如,以下是精简的 toggleFullScreen 函数:

var _isFullscreen = false;

function toggleFullScreen()
{
var doc = document.documentElement,
state = _inFullscreen,
requestFunc = (doc.requestFullScreen || doc.webkitRequestFullScreen),
cancelFunc = (doc.cancelFullScreen || doc.webkitCancelFullScreen);

_inFullscreen = !(state);

(!state) ? requestFunc.call(doc) : cancelFunc.call(doc);
}

出于某种奇怪的原因,Chrome 总是报告 cancelFuncundefined,尽管 requestFunc 工作正常。

谁能解释一下原因,以及可能的解决方案(不需要 jQuery 或类似的库插件)?

最佳答案

在@Tom Chung的帮助下,经过一番尝试,结果发现cancelFullScreen(同样需要在document上调用webkitCancelFullScreen) code>,而 requestFullscreen 需要在 document.documentElement 上调用。

因此,更新后的代码可以正常工作:

function toggleFullScreen()
{
var doc = document.documentElement,
state = (document.webkitIsFullScreen || document.isFullScreen),
requestFunc = (doc.requestFullscreen || doc.webkitRequestFullScreen),
cancelFunc = (document.cancelFullScreen || document.webkitCancelFullScreen);

(!state) ? requestFunc.call(doc) : cancelFunc.call(document);
}

关于javascript - Chrome 对 cancelFullScreen 和 webkitCancelFullScreen 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20286540/

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