Chrome为cancelFullScreen和webkitCancelFullScreen返回未定义的

我是

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

例如,这是精简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也会始终报告cancelFuncundefinedrequestFunc

任何人都可以解释其原因以及可能的解决方案(不需要jQuery或类似的库插件)吗?

我是

在@Tom Chung的帮助下,经过反复玩耍,结果证明了cancelFullScreen(同样webkitCancelFullScreen需要调用document,而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);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

@click为链接返回未定义

来自分类Dev

输入值返回为未定义

来自分类Dev

承诺返回为未定义

来自分类Dev

JavaScript为父元素和子元素返回未定义的

来自分类Dev

Excel 加载项行索引和值返回为未定义

来自分类Dev

PhantomJs为page.title返回未定义

来自分类Dev

SPServices GetListItems返回的字段值为“未定义”

来自分类Dev

Breezejs ZUMO示例将inlineCount返回为未定义

来自分类Dev

$(this).attr('id')为.each返回未定义的错误jquery

来自分类Dev

钛中的数据返回为“未定义”

来自分类Dev

当async为true时,Ajax Call返回未定义

来自分类Dev

控制台返回未定义变量,但变量为

来自分类Dev

数组中的变量返回为未定义

来自分类Dev

使用QWebChannel时未定义的属性和返回类型

来自分类Dev

使用jQuery和Web API返回的未定义值

来自分类Dev

React和Redux:返回未定义的Onclick删除按钮

来自分类Dev

JavaScript关闭和意外的-未定义-返回

来自分类Dev

未定义索引问题和错误返回

来自分类Dev

使用jQuery和Web API返回的未定义值

来自分类Dev

Jquery“最近”和“查找”函数返回“未定义”!

来自分类Dev

承诺返回未定义和状态挂起

来自分类Dev

在 javascript 中将数字与设置为 POSITIVE_INFINITY 和 MAX_VALUE 的 var 进行比较后返回“未定义”

来自分类Dev

Chrome API未定义

来自分类Dev

captureVisibleTab返回未定义

来自分类Dev

getJSON返回未定义

来自分类Dev

$ stateParams返回未定义

来自分类Dev

tagName返回未定义

来自分类Dev

减少返回未定义?

来自分类Dev

getBindingContext()返回未定义