无法在Chrome(打包)应用程序上检测到ESC按钮(全屏显示时)
Cannot detect ESC button on Chrome (packaged) app (while fullscreen)
听起来很简单,但绝对是一场噩梦。我无法察觉逃生按钮被按下了。我需要知道全屏模式是否退出,因为你无法阻止按下退出按钮。javascript被注入到一个HTML中,该HTML在web视图中加载。
$(document).keyup(function(e) {
if (e.keyCode === 27) {
console.log("esc pressed")
}
});
这只适用于视图不是全屏的情况!
走向全屏:
$('#fullscreen-button').unbind("click").on('click', function(){
viewer.setFullscreen();
});
setFullscreen: function() {
if(!viewer.isFullScreen()) {
console.log("window fullscreen --> ",viewer.isFullScreen());
document.body.webkitRequestFullscreen();
$("#presenter, #slide-container .owl-item").addClass('fullscreen tenTwenty');
$("#viewer-container, #slide-container").addClass('fullscreen thirteenSix');
$('.fullscreen').width(screen.width);
$('.fullscreen').height(screen.height);
$('#slide-container').trigger('refresh.owl.carousel');
} else {
document.webkitCancelFullScreen();
console.log("window fullscreen --> ",viewer.isFullScreen());
$('.tenTwenty').width(1024); $('.tenTwenty').height(768);
$('.thirteenSix').width(1366); $('.thirteenSix').height(768);
$("#presenter, #viewer-container, #slide-container, #slide-container .owl-item").removeClass('fullscreen tenTwenty thirteenSix');
$('#slide-container').trigger('refresh.owl.carousel');
}
},
isFullScreen: function(){
if ( document.webkitFullscreenElement) {
return true;
} else {
return false;
}
},
由于您使用的是jQuery,您可以添加一个监听器来检查全屏状态的变化。它不会告诉你它是打开还是关闭全屏,但你可以这样检查所有状态:
// you only need "webkitfullscreenchange" if it's only a chrome app
$(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange', function() {
if(!viewer.isFullScreen()) {
// you are out of fullscreen
} else {
// you are in fullscreen
}
});
编辑:
正如我们在评论中所说,vanilla js非常适合:
document.addEventListener('webkitfullscreenchange', function(e) {});
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 多个单选按钮组相互干扰
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Javascript按钮下拉列表
- jquery试图按名称获取按钮位置
- 漂亮照片图片库中的Facebook赞按钮
- 扩展移相器按钮类不工作
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 单击按钮以等待单击按钮
- 无法在Chrome(打包)应用程序上检测到ESC按钮(全屏显示时)
- 按 Esc 按钮后恢复为原始 html
- jQuery Fancybox - 关闭ESC按钮不起作用
- Esc 键的作用类似于 html 中的重置按钮
- 引导模式不会在 X 或关闭按钮上关闭,而是在 ESC 上或在叠加层中单击
- 如何在 ESC 按钮上调用托管 Bean 方法
- 使任务流内联弹出窗口关闭“esc”按钮
- 使用esc按钮关闭对话框
- 如何关闭弹出窗口时,youtube视频上播放esc按钮按钮
- Javascript:确认警报消息工作,如果我按下ESC按钮