javascript - fullscreenchange 事件未在 Chrome 中触发

标签 javascript jquery google-chrome fullscreen

我正在尝试监控浏览器何时进入全屏模式。

这个博客在我搜索的所有地方都被引用为全屏 API 的指南。

http://robertnyman.com/2012/03/08/using-the-fullscreen-api-in-web-browsers/

这个 SO 答案也声称这是有效的。

Fullscreen API: Which events are fired?

这是我使用 jQuery 编写的代码,但它没有触发事件。

$(document).on("webkitfullscreenchange mozfullscreenchange fullscreenchange",function(){
        console.log("bang!");
});

看起来很简单,但它不会在 Chrome 中触发。知道我做错了什么吗?

更新:

发现了一些新东西。这些事件仅在 JavaScript 调用 requestFullScreen API 时有效,但在用户按下 F11 时无效。

最佳答案

fullscreenchange 事件确实有效,但前提是全屏模式由 requestFullscreen 触发。

如果用户通过热键手动启用全屏模式,似乎存在阻止 JavaScript 监控的安全限制。

或者,您可以监视调整大小事件以查看窗口是否与桌面大小相匹配,但这对我来说似乎是一种 hack(即这可以在双显示器上工作吗?)

我决定放弃对全屏模式的监控,而只使用 API 来切换状态。

关于javascript - fullscreenchange 事件未在 Chrome 中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21103478/

相关文章:

javascript - 创建简单的 php 请求

javascript - 水平滚动 DIV 内的语义 UI 下拉菜单

javascript - 子菜单在菜单单击时保持打开状态

jquery - 将工具提示保留在浏览器窗口内? (不使用插件)

javascript - 遇到以下代码未定义输出的问题

javascript - Highcharts 同步图表显示工具提示

javascript - 如何使用 jquery/ajax 加载同一页面?

javascript - 用作谷歌浏览器书签

javascript - 捕获用户浏览器中的错误以进行事后调试

javascript - 在 Angular-JS 中,如何根据所选行中包含的数据显示按钮?