HTML5 网络监听,全屏
1.网络状态监听
- online事件:网络重新连通时触发
- offline事件:网络断开时触发
<script>
// 监听网络连接
window.addEventListener("online",function(){
console.log("网络连通了")
})
// 监听网络断开
window.addEventListener("offline",function(){
console.log("网络断开了")
})
</script>
这个例子中,本来网络一直都是连通的,什么也不会触发。手动把网线拔了,控制台打印"网络断开了",说明触发了offline事件,接着手动连上网线,此时控制台又打印"网络连通了",说明触发了online事件
2.全屏接口
- HTML5的api可以将某个Dom元素全屏展示,通过api或者Esc键可退出全屏
- 也可以通过快捷按键让页面进入全屏(chrome,EDGE,火狐都素按F11切换全屏/退出全屏),两种模式是独立的,什么模式进入全屏,就需要对应模式的退出方式
- fullscreenchange事件用来监听全屏事件(仅限api模式,通过快捷按键的形式无法监听)
- document.fullscreenElement(IE11/msFullscreenElement)该属性返回当前处于全屏模式的DOM元素,可以根据他来判断是否进入了全屏模式
3.封装进入全屏和退出全屏的函数
- 封装一个兼容各个浏览器的全屏函数
<script>
// 封装进入全屏的函数
function fullScreen(node){
// 判断浏览器是否支持全屏api
if(document.fullscreenEnabled || document.msFullscreenEnabled){
// 判断是标准浏览器还是IE
if(node.requestFullscreen){
// chrome和火狐
node.requestFullscreen()
}else if(node.msRequestFullscreen){
// IE11
node.msRequestFullscreen()
}
}else{
alert("当前浏览器不支持全屏模式")
}
}
// 封装退出全屏的函数(直接esc键最简单)
function exitfullScreen(){
//判断是否已经进入全屏模式
var fullscreenElement = document.fullscreenElement || document.msFullscreenElement
if(!fullscreenElement){
//console.log("不是全屏状态")
return
}
// 确保在非全屏状态才调用下面的代码,不然会弹警告
if(document.exitFullscreen){
//标准浏览器
document.exitFullscreen()
}else if(document.msExitFullscreen){
//IE浏览器
document.msExitFullscreen()
}
}
</script>
- 如果确定要通过api让整个页面全屏,可以屏蔽浏览器自带的快捷按钮全屏(F11)
//屏蔽浏览器自带的全屏
window.addEventListener('keydown',function(e){
//如果按的是F11,则阻止默认事件
if(e.keyCode == 122){
e.preventDefault()
}
})
HTML5 网络监听,全屏的更多相关文章
- js监听全屏下的esc事件
window.onresize = function() { if (!checkFull()) { //触发esc事件,执行业务逻辑. } }; function checkFull() { var ...
- js监听全屏的事件
window.addEventListener('click',function(){ window.top.location.href = '../../loginOut.do'; //解决ifr ...
- 从零开始学 Web 之 HTML5(三)网络监听,全屏,文件读取,地理定位接口,应用程序缓存
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- html5 js 监听网络在线与离线
<!doctype html> <html> <head> <meta http-equiv="content-type" content ...
- H5C3--语义标签以及语义标签IE8兼容,表单元素新属性,度量器,自定义属性,dataList,网络监听,文件读取
HTML5新增标签以及HTML5新增的api 1.H5并不是新的语言,而是html语言的第五次重大修改--版本 2.支持:所有的主流浏览器都支持h5.(chrome,firefox,s ...
- iOS 网络监听、判断
一 网络监听 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary ...
- Android-Activity横竖屏切换不杀死Activity 并监听横竖屏切换
在上一篇博客,Android-Activity临时数据的保存,中讲解到,当发生横竖屏切换的时候,系统会杀死Activity并重新启动Activity 系统会杀死Activity 12-12 08:11 ...
- C#监听锁屏代码
今天,偶然间在技术群看有人问,怎么监听锁屏. 在此处记录一下 public class Constrctor { public Constrctor() { SystemEvents.SessionS ...
- iOS:Reachability网络监听
iOS利用Reachability确认网络环境3G/WIFI 开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息.如果没有处理它们,是不会通过Apple的审查的,一般情况下,可以把网络监 ...
- java实现网络监听
Java实现网络监听 import java.net.*; import java.io.*; public class tcpServer { public static void main(Str ...
随机推荐
- OData – 权限管理
前言 OData 其实没有权限的机制, Client 可以任意的 $select, $expand. 即便它可以做简单防御设置, 但是离平常的业务需求还是很远. 一般上 query entity 常见 ...
- Go runtime 调度器精讲(九):系统调用引起的抢占
原创文章,欢迎转载,转载请注明出处,谢谢. 0. 前言 第八讲介绍了当 goroutine 运行时间过长会被抢占的情况.这一讲继续看 goroutine 执行系统调用时间过长的抢占. 1. 系统调用时 ...
- JAVAEE——maven安装
一.安装本地Maven 注意:检查JAVA_HOME环境变量, maven本身就是java写的,所以要求必须先安装JDK,检查本机jak环境win+r后输入cmd,然后输入java -version, ...
- Shiro-721—漏洞分析(CVE-2019-12422)
目录 Padding Oracle Attack 原理 PKCS5填充 怎么爆破攻击 漏洞原理 源码分析 漏洞复现 本文基于shiro550漏洞基础上分析,建议先看上期内容: https://blog ...
- Avalonia upgrade from 0.10 to 11.x
Avalonia 从0.10版本升级到11.x版本.由于11.x新版本与旧版本对比发生了破坏性的变化,因此官方给出了升级的攻略可以参考. https://docs.avaloniaui.net/doc ...
- SublimeText配置Markdown编辑及预览
概述 本文详细介绍了如何配置Sublime Text及相关插件,使之成为Markdown编辑器并且能够在浏览器中实现预览功能. 所需工具 Sublime Text + Package Control ...
- /proc/buddyinfo
在应用程序设计过程中,内存是很重要的资源,而计算机主机的内存资源时有限的.一般而言我们可以申请到的内存是有限的,并不是想申请多大就有多大就可以申请多大的./proc/buddyinfo文件里,就记录着 ...
- iOS关于NSNotificationCenter通知使用小结
常用的页面之间传值方式是参数,单例,通知,委托,以及其他全局变量等等.通知是一种广播形式,可以一对多通知传值.最近在项目中用的模块化开发, 通过封装抽取,将页面分为上中下三个模块.最简单的方式是把所有 ...
- vagrant文件基础配置
Vagrant.configure("2") do |config| config.vm.box = "centos7" # box 名称 config.vm. ...
- NlogN 求最长不下降子序列(LIS)
最长不下降子序列是一道非常经典的题目,我们假设题目如下: 有一个数组 $ a $,现在要从中抽取一个严格上升的子序列(子序列就是你可以从原序列里删除一些数,保留一部分数得到的新数列)(严格上升也就是不 ...