【日常记录】【JS】浏览器本身的取色器

文章目录

    • 1、介绍
    • 2、打开拾色器并且取样
    • 3、代码中止拾色器
    • 4、参考连接

1、介绍

EyeDropper 接口表示一个拾色器工具的实例,用户可以打开并使用它从屏幕上选择颜色。 (他还是一个实验性的技术,存在兼容性问题)

EyeDropper MDN 介绍

2、打开拾色器并且取样

在这里插入图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><img src="https://picsum.photos/200?1" alt=""><button id="btn">开始取色</button><div class="box" style="width: 200px;height: 200px;border: 1px solid red;">实时更新颜色区域</div><script>let btnEl = document.querySelector('#btn');let boxEl = document.querySelector('.box')btnEl.addEventListener('click', async function () {// 1、new 一个实例// 2、调用open 方法const eyeDropper = new EyeDropper();try {const res = await eyeDropper.open();console.log('获取到了颜色', res);boxEl.style.background = res.sRGBHex;} catch (error) {console.log('用户取消了,按下了 esc 键');}})</script>
</body></html>

3、代码中止拾色器

在这里插入图片描述

  <img src="https://picsum.photos/200?1" alt=""><button id="start-button">打开拾色器</button> <span id="result"></span><script>document.getElementById("start-button").addEventListener("click", () => {const resultElement = document.getElementById("result");if (!window.EyeDropper) {resultElement.textContent = "你的浏览器不支持 EyeDropper API";return;}const eyeDropper = new EyeDropper();const abortController = new AbortController();eyeDropper.open({ signal: abortController.signal }).then((result) => {resultElement.textContent = result.sRGBHex;resultElement.style.backgroundColor = result.sRGBHex;}).catch((e) => {resultElement.textContent = '代码的方式中止了';});setTimeout(() => {abortController.abort();}, 2000);});</script>

4、参考连接

  • EyeDropper的open 方法 MDN
  • EyeDropper_API MDN

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

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

相关文章

Android FrameWork 学习路线

目录 前言 学习路线&#xff1a; 1.基础知识 2、AOSP 源码学习 3. AOSP 源码编译系统 4. Hal与硬件服务 5.基础组件 6. Binder 7. 系统启动过程分析 8. 应用层框架​编辑 9. 显示系统 10. Android 输入系统 11. 系统应用 前言 Android Framework 涉及的行业相当广…

热流道融合3D打印技术正在成为模具制造新利器

在模具领域中&#xff0c;3D打印技术与热流道技术联手&#xff0c;能迸发出更耀眼的光芒。两种技术虽然各有特点&#xff0c;但两者结合将形成互补作用&#xff0c;从而实现11&#xff1e;2”的跨越式提升。 将增材制造的灵活思维融入传统模具设计时&#xff0c;不仅能够突破传…

github登录时解决2FA问题

使用Edge浏览器下载插件 https://microsoftedge.microsoft.com/addons/detail/authenticator-2fa-client/ocglkepbibnalbgmbachknglpdipeoio 下载后弹框会显示是否添加&#xff0c;添加。如下&#xff1a; Chrome下 https://chrome.google.com/webstore/detail/authenticator…

力扣简单串题:转换成小写字母

char* toLowerCase(char* s) {if(sNULL){return NULL;}for(int x0;x<strlen(s);x){if(s[x]>A&&s[x]<Z){s[x]s[x]-Aa;}}return s; }

深度学习 精选笔记(11)深度学习计算相关:GPU、参数、读写、块

学习参考&#xff1a; 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增)&#xff0c;以达到集多方教程的精华于一文的目的。 ③非常推荐上面&#xff08;学习参考&#x…

RocketMQ - Broker启动的时候都做了什么?

1. Broker启动的时候是如何初始化自己的核心配置的? 启动Broker的时候也是通过mqbroker这种脚本来实现的,最终脚本里一定会启动一个JVM进程,开始执行一个main class的代码。 实际上Broker的JVM进程启动之后,会执行BrokerStartup的main()方法,这个BrokerStartup类,就在r…

超详细解析:在执行一条SQL语句期间发生了什么?

目录 前言MySQL的执行流程Server层连接器查询缓存词法分析器预处理优化器执行器 引擎层具体流程为什么需要redologredolog的组成redolog如何提高性能&#xff1f;redo log与binlog区别 总结 前言 我们学习MySQL时&#xff0c;首先第一个接触到的就是SQL语句了&#xff0c;那么…

双线性插值缩放算法原理以及matlab与verilog的实现(二)

系列文章目录 双线性插值缩放算法原理以及matlab与verilog的实现&#xff08;一&#xff09; 文章目录 系列文章目录前言一、前提回顾二、FPGA实现步骤2.1 找到源图像四个像素点求目标像素点2.2 FPGA实现步骤2.3 总体框架2.4 ROM缓存模块2.5 VGA模块2.6 双线性算法模块 三、下…

如何本地部署SeaFile文件共享服务并实现无公网IP访问内网本地文件

文章目录 1. 前言2. SeaFile云盘设置2.1 Owncould的安装环境设置2.2 SeaFile下载安装2.3 SeaFile的配置 3. cpolar内网穿透3.1 Cpolar下载安装3.2 Cpolar的注册3.3 Cpolar云端设置3.4 Cpolar本地设置 4.公网访问测试5.结语 1. 前言 现在我们身边的只能设备越来越多&#xff0c…

绝地求生:PUBG 2024年 更新重点偏向于武器平衡、游戏互动及联名道具

一、游戏体验 1. 增加可破坏的环境 1.1 增加更多互动功能 通过可破坏环境将游戏方式变得千变万化。待功能上线&#xff0c;在后续游戏中玩家可以对建筑物进行部分破坏来开辟新的进攻、撤退路线&#xff0c;或搭建掩体进行战略性攻击。 环境破坏部分功能&#xff0c;将会在4…

idea:忽略不要搜索unpackage文件夹

开发vue时搜索关键字&#xff0c;会搜索到编译后的文件&#xff0c;如unpackage。&#xff08;注意这个是idea工具&#xff0c;和Git忽略是有区别的&#xff09; File->Settings->Editor->File Types

python 如何使用 NLPchina 开源sql插件,提供代码

分享一段使用python&#xff0c;通过使用发送post请求的方式&#xff0c;来从es集群中获取数据。不用使用 elasticsearh&#xff0c;仅需要导入request和json包即可。 开源sql插件官方 文档 GitHub - NLPchina/elasticsearch-sql: Use SQL to query Elasticsearch 示例代码 调…