JavaScript Web API实战:7个小众技巧让你的网站瞬间提升用户体验

news/2024/4/26 23:15:59/文章来源:https://blog.csdn.net/Codinglaoshi/article/details/129172981

随着技术的日新月异,为开发人员提供了令人难以置信的新工具API。但据了解,在100 多个 API中,只有5%被开发人员积极使用。

 

让我们来看看一些有用的Web API,它们可以帮助您将网站推向月球!

1、 截屏接口

Screen Capture API,顾名思义,允许您捕获屏幕的内容,使构建屏幕录像机的过程变得轻而易举。

您需要一个视频元素来显示捕获的屏幕。开始按钮将开始屏幕捕获

<video id="preview" autoplay>Your browser doesn't support HTML5.
</video>
<button id="start" class="btn">Start</button>
const previewElem = document.getElementById("preview");
const startBtn = document.getElementById("start");async function startRecording() {previewElem.srcObject =await navigator.mediaDevices.getDisplayMedia({video: true,audio: true,});
}startBtn.addEventListener("click", startRecording);

2、网络共享API

Web Share API允许您将**网页中的文本链接甚至文件**共享到设备上安装的其他应用程序。

async function shareHandler() {navigator.share({title: "Tapajyoti Bose | Portfolio",text: "Check out my website",url: "https://tapajyoti-bose.vercel.app/",});
}

注意:要使用Web Share API,您需要用户进行交互。例如,按钮点击触摸事件

3、路口观察器API

Intersection Observer API允许您检测元素何时进入或离开视口。这对于实现无限滚动非常有用。

在线浏览地址:https://codepen.io/ruppysuppy/pen/abBeZwj

 

注意:由于我个人的喜好,该演示使用React ,但您可以使用**任何框架vanilla JavaScript**。

4、剪贴板API

剪贴板API允许您读取数据并将数据写入剪贴板这对于实现复制到剪贴板功能很有用。

async function copyHandler() {const text = "https://tapajyoti-bose.vercel.app/";navigator.clipboard.writeText(text);
}

注意:如果页面已经在屏幕上可见,您只能使用屏幕唤醒锁定 API 。否则,它会抛出错误。

5.屏幕唤醒锁定API

有没有想过YouTube如何防止屏幕在播放视频时被关闭?好吧,那是因为Screen Wake Lock API

let wakeLock = null;async function lockHandler() {wakeLock = await navigator.wakeLock.request("screen");
}async function releaseHandler() {await wakeLock.release();wakeLock = null;
}

注意:如果页面已经在屏幕上可见,您只能使用屏幕唤醒锁定 API 。否则,它会抛出错误。

6、屏幕方向API

Screen Orientation API允许您检查屏幕的当前方向,甚至**可以将其锁定**到特定方向。

async function lockHandler() {await screen.orientation.lock("portrait");
}function releaseHandler() {screen.orientation.unlock();
}function getOrientation() {return screen.orientation.type;

 

7、全屏API

全屏API允许您**全屏**显示一个元素或整个页面。

async function enterFullscreen() {await document.documentElement.requestFullscreen();
}async function exitFullscreen() {await document.exitFullscreen();
}

注意:要也使用全屏 API,您需要用户进行交互。

 

谢谢阅读,如果对你有帮助,记得点赞支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_73026.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ELK日志分析--Logstash

Logstash简介 Logstash安装 测试运行 配置输入和输出 使用Geoip过滤器插件增强数据编辑 配置接收 Beats 的输入 1.Logstash简介 Logstash管道具有两个必需元素input和output&#xff0c;以及一个可选元素filter。输入插件使用来自源的数据&#xff0c;过滤器插件根据你的…

shell的测试语句

一、shell的条件测试语句 在写shell脚本时&#xff0c;经常遇到的问题就是判断字符串是否相等&#xff0c;可能还要检查文件状态或进 行数字测试&#xff0c;只有这些测试完成才能做下一步动作。 1.1、shell脚本中的条件测试如下&#xff1a; 1、文件测试 2、字符串测试 3、数…

《计算机组成与系统结构(第二版) 裘雪红 李伯成 西安电子科技大学出版社》课后习题答案(带解析)(三)

声明&#xff1a;此系列答案配套《计算机组成与系统结构&#xff08;第二版&#xff09; 裘雪红 李伯成 西安电子科技大学出版社》一书相关内容。所有内容为博主个人编辑&#xff0c;仅作参考学习交流之用&#xff0c;转载请注明出处。如发现错误&#xff0c;请联系博主及时勘误…

java JMM 内存屏障

内存屏障的目的 每个CPU都会有自己的缓存&#xff08;有的甚至L1,L2,L3&#xff09;&#xff0c;缓存的目的就是为了提高性能&#xff0c;避免每次都要向内存取。但是这样的弊端也很明显&#xff1a;不能实时的和内存发生信息交换&#xff0c;分在不同CPU执行的不同线程对同一…

基于SPI的增强式插件框架设计

很久之前&#xff0c;为了诊断线上的问题&#xff0c;就想要是能有工具可以在线上出问题的时候&#xff0c;放个诊断包进去马上生效&#xff0c;就能看到线上问题的所在&#xff0c;那该是多么舒服的事情。后来慢慢的切换到 java 领域后&#xff0c;这种理想也变成了现实&#…

【selenium 自动化测试】如何搭建自动化测试环境,搭建环境过程应该注意的问题

最近也有很多人私下问我&#xff0c;selenium学习难吗&#xff0c;基础入门的学习内容很多是3以前的版本资料&#xff0c;对于有基础的人来说&#xff0c;3到4的差别虽然有&#xff0c;但是不足以影响自己&#xff0c;但是对于没有学过的人来说&#xff0c;通过资料再到自己写的…

2023年PMP考试应该注意些什么?

首先注意&#xff08;报考条件&#xff09; 2023年PMP考试报名流程&#xff1a; 一、PMP英文报名&#xff1a; 英文报名时间无限制&#xff0c;随时可以报名&#xff0c;但有一年的有效期&#xff0c;所以大家尽量提前报名&#xff0c;在英文报名有效期内进行中文报名。 英…

深度卷积对抗神经网络 进阶 第三部分 GANs Unpaired Translation with Cycle GAN 模型

非配对的图像转换应用 Unpaired Image-to-Image Translation Unpaired image-to-image translation 主要用于学习两组图像之间的对应关系&#xff0c;检查和寻找两堆数据中的共同内容&#xff08;content&#xff09;以及每堆独有的特点&#xff08;style&#xff09;。而这个…

【Database-03】从 MySQL 迁移到 达梦数据库(DM 8)

1、环境 源数据库 MySQL 8.30 目标数据库 DM 8 操作系统 Centos 9 Steam 迁移工具 DM 数据迁移工具 (DM DTS) 2、开始迁移 2.1、打开DM数据迁移工具 在新建工程对话框中填写工程名和工程描述信息&#xff0c;点击【确定】按钮&#xff0c;成功添加了一个工程。 2.2、新建迁…

3年经验,3轮技术面+1轮HR面,拿下字节30k*16薪offer,这些自动化测试面试题值得大家借鉴

面试一般分为技术面和hr面&#xff0c;形式的话很少有群面&#xff0c;少部分企业可能会有一个交叉面&#xff0c;不过总的来说&#xff0c;技术面基本就是考察你的专业技术水平的&#xff0c;hr面的话主要是看这个人的综合素质以及家庭情况符不符合公司要求&#xff0c;一般来…

2023年,IT互联网还有发展前景吗?

不得不说&#xff0c;互联网在整个社会经济发展中扮演着不可或缺的角色&#xff1b;不仅自身的技术具有前沿性&#xff0c;也推动着其他行业进入数字化经济时代&#xff0c;让我们的工作生活变得更加便捷。 在“互联网”时代&#xff0c;每个服务行业都会利用大数据&#xff0…

SpringBoot入门(二)

这里写目录标题一、SpringBoot整合Junit1.1 搭建SpringBoot工程1.2 引入starter-test起步依赖1.3 编写类1.4 测试二、SpringBoot整合mybatis2.1 搭建SpringBoot工程2.2 引入mybatis起步依赖&#xff0c;添加驱动2.3 编写DataSource和MyBatis相关配置2.4 定义表和实体类2.5 编写…

Bootstrap入门到精通

文章目录前言一、Bootstrap是什么&#xff1f;二、Bootstrap安装方式一&#xff1a;将压缩包下载到本地引入使用方式二&#xff1a;使用Bootstrap官方cdn二.Bootstrap容器下面是屏幕宽度在不同大小时不同容器的显示状态三.Bootstrap栅格系统bootstrap网格系统有以下六个类网格系…

linux shell 入门学习笔记7 父子shell面试题

1. 不同的执行方式&#xff0c;不同的shell环境 每次调用bash/sh解释器执行脚本都会开启一个子shell&#xff0c;因此不保留当前shell变量&#xff0c;通过pstree命令检查进程树调用source是当前环境加载脚本&#xff0c;因此保留变量 例子&#xff1a; xiao123xiao123:~/Dow…

直播间的2个小感悟

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 在线人数固定 最近直播间出现了很多新面孔&#xff0c;有的是偶然刷到的&#xff0c;有的是关注互联网找到的。而直播间的人数一直没什么变化&#xff0c;卢松松在抖音直播较少&#xff0c;主播间…

开学第一周,超30所高校系主任选择与百度飞桨联办校赛

经历了一场特殊而漫长的假期&#xff0c;各地校园又恢复了往日的热闹&#xff0c;重新焕发出勃勃生机&#xff0c;师生们在一声声久别重逢的暖心问候中&#xff0c;迎来了2023年春季学期。 以赛促学蔚然成风 开学季是校内竞赛策划及启动的最佳时机之一&#xff0c;越来越多的老…

JVM17GUI工具

3. JVM 监控及诊断工具-GUI 篇 3.1. 工具概述 命令行工具或组合能帮您获取目标 Java 应用性能相关的基础信息&#xff0c;但它们存在下列局限&#xff1a; 1&#xff0e;无法获取方法级别的分析数据&#xff0c;如方法间的调用关系、各方法的调用次数和调用时间等&#xff0…

TEMU联盟计划用意何在?做推广达人真的能收入满满吗?

据东哥近期了解&#xff0c;Temu在北美市场表现十分火爆&#xff0c;甚至冲上了AppStore下载榜第一名。Temu在美国市场上采用了类似PDD的病毒式传播策略&#xff0c;以实惠的产品和折扣吸引消费者并动员普通人大量传播链接和App下载&#xff0c;所以有了TEMU联盟计划&#xff0…

ArcGIS导出AI或EPS格式的地图图片并在Adobe Illustrator中继续编辑

本文介绍在ArcGIS下属的ArcMap软件中&#xff0c;将绘制好的地图导出为.ai或者.eps格式文件&#xff0c;并在Adobe Illustrator软件中进一步编辑地图&#xff0c;并最终导出为图片格式的结果文件的方法。 在ArcMap软件中绘制各类地图可以说非常方便&#xff0c;绘制得到的地图也…

深圳/东莞/惠州师资比较强的CPDA数据分析认证

深圳/东莞/惠州师资比较强的CPDA数据分析认证培训机构 CPDA数据分析师认证是中国大数据领域有一定权威度的中高端人才认证&#xff0c;它不仅是中国较早大数据专业技术人才认证、更是中国大数据时代先行者&#xff0c;具有广泛的社会认知度和权威性。 无论是地方政府引进人才、…