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 网络监听,全屏的更多相关文章

  1. js监听全屏下的esc事件

    window.onresize = function() { if (!checkFull()) { //触发esc事件,执行业务逻辑. } }; function checkFull() { var ...

  2. js监听全屏的事件

    window.addEventListener('click',function(){ window.top.location.href = '../../loginOut.do';  //解决ifr ...

  3. 从零开始学 Web 之 HTML5(三)网络监听,全屏,文件读取,地理定位接口,应用程序缓存

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  4. html5 js 监听网络在线与离线

    <!doctype html> <html> <head> <meta http-equiv="content-type" content ...

  5. H5C3--语义标签以及语义标签IE8兼容,表单元素新属性,度量器,自定义属性,dataList,网络监听,文件读取

    HTML5新增标签以及HTML5新增的api     1.H5并不是新的语言,而是html语言的第五次重大修改--版本     2.支持:所有的主流浏览器都支持h5.(chrome,firefox,s ...

  6. iOS 网络监听、判断

    一 网络监听 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary ...

  7. Android-Activity横竖屏切换不杀死Activity 并监听横竖屏切换

    在上一篇博客,Android-Activity临时数据的保存,中讲解到,当发生横竖屏切换的时候,系统会杀死Activity并重新启动Activity 系统会杀死Activity 12-12 08:11 ...

  8. C#监听锁屏代码

    今天,偶然间在技术群看有人问,怎么监听锁屏. 在此处记录一下 public class Constrctor { public Constrctor() { SystemEvents.SessionS ...

  9. iOS:Reachability网络监听

    iOS利用Reachability确认网络环境3G/WIFI 开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息.如果没有处理它们,是不会通过Apple的审查的,一般情况下,可以把网络监 ...

  10. java实现网络监听

    Java实现网络监听 import java.net.*; import java.io.*; public class tcpServer { public static void main(Str ...

随机推荐

  1. 不升级 POI 版本,如何生成符合新版标准的Excel 2007文件

    开心一刻 记得小时候,家里丢了钱,是我拿的,可爸妈却一口咬定是弟弟拿的 爸爸把弟弟打的遍体鳞伤,弟弟气愤的斜视着我 我不敢直视弟弟,目光转向爸爸说到:爸爸,你看他,好像还不服 问题描述 项目基于 PO ...

  2. Go runtime 调度器精讲(九):系统调用引起的抢占

    原创文章,欢迎转载,转载请注明出处,谢谢. 0. 前言 第八讲介绍了当 goroutine 运行时间过长会被抢占的情况.这一讲继续看 goroutine 执行系统调用时间过长的抢占. 1. 系统调用时 ...

  3. PyCharm 的一些基本设置&&常用插件&&快捷键

    PyCharm一些基本设置   1.主题色彩   2.添加设置:Ctrl+鼠标滚轮上下调节字体大小           3. 中文语言包   4.翻译插件 5.快捷键

  4. C# ASP.NET Core Web API 框架 实现向手机发送验证码短信

    本文章主要是在C# ASP.NET Core Web API框架实现向手机发送验证码短信功能.这里我选择是一个互亿无线短信验证码平台,其实像阿里云,腾讯云上面也可以. 首先我们先去 互亿无线 http ...

  5. map,unordered_map,multimap,unordered_multimap

    std::map(有序映射) std::unordered_map(无序映射) std::multimap(有序多重映射) std::unordered_multimap(无序多重映射) 它们的使用方 ...

  6. MobileNet V2中InvertedResidual实现

    1.为了方便理解其本身结构,找到源码理解一下. 2.论文地址:http://arxiv.org/pdf/1801.04381.pdf 3.V2相比较V1增加了倒残差结构和线性瓶颈层.整个结构按照维度来 ...

  7. git工具:sourcetree使用中的部分问题

    这段时间经常用到这个工具.就当记个笔记,记录一下我的一些问题. 问题一: 如果想要拉取远端更新: 第一步:先登陆sourcetree,点击"抓取". 第二步:在终端输入:git s ...

  8. Putty 远程 连接kali Linux拒绝访问 refused connection

    1. 设置  ssh 文件 crtl + alt + t 代开终端 输入命令: vim /etc/ssh/sshd_config 说明 : 使用 vim 编辑器编辑 ssh 文件 : 说明: 修改第3 ...

  9. kotlin更多语言结构——>类型检测与类型转换 is 与 as

    is 与 !is 操作符 我们可以在运行时通过使用 is 操作符或其否定形式 !is 来检测对象是否符合给定类型: if (obj is String) { print(obj.length) } i ...

  10. Excel488个函数一览

    目录: 常用函数 Web 函数 财务函数 查找和引用函数 多维数据集函数 工程函数 兼容性函数 逻辑函数 日期和时间函数 数据库函数 数学和三角函数 统计函数 文本函数 信息函数 与加载项一起安装的用 ...