当前位置: 首页 > news >正文

2 html5 浏览器已经支持的新API

HTML5规范下很多API浏览器都已经支持,这里我们列举几个很常用的浏览器支持的API:

1 tab页之间通信:

BroadcastChannel(channelName);

可用于多个不同浏览器tab页之间通信。实例化的时候Channel名称必须相同。

const broadcastChannel = new BroadcastChannel('myChannel')broadcastChannel.postMessage('Hello from tab 1');

使用postMessage 发送消息,并在另一个窗口监听消息

broadcastChannel.onmessage = function(e) {

console.log('Received:', e.data);

};

2 浏览器全屏:

requestFullscreen()

img, video, div元素等加上这个方法就可以实现全屏,使用document.exitFullscreen();退出全屏。

3 屏幕分享:

navigator.mediaDevices.getDisplayMedia() 这个就是将当前指定的屏幕分享出去。我们如下当代是将截取内容放在播放器中播放。

 const stream = await navigator.mediaDevices.getDisplayMedia({video: true,});videoElement.srcObject = stream;

当然看到这个mediaDevices,这个对象目前可以使用的还有:

1 获取摄像头

navigator.mediaDevices.getUserMedia()

2 获取设备信息:

 navigator.mediaDevices.enumerateDevices()

4 网络状态

navigator.onLine

以及给window增加了两个事件

window.ononline = function () {console.log("你的浏览器在线工作");};window.onoffline = function () {console.log("你的浏览器离线工作");};

5 requestAnimationFrame实现浏览器绘制帧时的调用

这个api可用来替代使用interval回调时动画都问题。当然vue底层也用了这个新的api.

var ball = document.getElementById("ball");var pos = 0;function moveBall() {if (pos == 350) {return; // 如果到达指定位置则停止动画} else {pos += 1;ball.style.top = pos + "px";ball.style.left = pos + "px";window.requestAnimationFrame(moveBall); // 继续下一帧动画}}// 启动动画window.requestAnimationFrame(moveBall);

6 Clipboard 粘贴板对象,当然这对象功能也很强大。

通过writeText写入内容,通过 readText读取复制内容。

navigator.clipboard.writeText(text).then(function() {console.log("复制成功!");}, function() {console.log("复制失败!");});

等等,还有一些其他的,比如formData,fileRender等等这些大家平时用的比较多的,我这里就不再举例。还有canvas这种,svg等这些后面我会单独拿出来讲。 


http://www.mrgr.cn/news/17998.html

相关文章:

  • 英特尔或将计划剥离资产削减成本
  • 护栏碰撞监测系统:多场景应用与成功实践案例解析
  • 利用Go语言模拟实现Raft协议
  • Apache CloudStack Official Document 翻译节选(十三)
  • 【函数模板】函数模板的特化
  • 【数据结构-二维前缀和】【列维护优化】力扣3212. 统计 X 和 Y 频数相等的子矩阵数量
  • vue 批量导出pdf 压缩包 zip
  • 设计模式—2—单例模式
  • 使用Proxifer和Burpsuite软件搭配对小程序做渗透测试
  • 心理咨询展示型网站渠道拓展服务
  • 【react】开发一些简单的业务表单可复用组件,需要注意哪些细节
  • Unity(2022.3.41LTS) - UI详细介绍-TMP
  • 【hot100篇-python刷题记录】【课程表】
  • 车窗边缘上的装饰边和花点的作用
  • chapter11-枚举和注解——(枚举类)——day14
  • [矩阵快速幂] 爬楼梯
  • 论文解读汇总(目标检测、目标跟踪、语义分割....)定期更新
  • 将传统ViT用于分割或检测任务
  • 中资优配:什么股票容易涨停?放量涨停意味着什么?
  • Transformer简明笔记:文本翻译