webworker和darkmode笔记
整体思维导图
webworker使用case
一:使用高斯模糊过来的图做背景图,放在新的线程中
二:ajax做轮询
三:主要思路是在 Worker 中进行相对开销较大的 DOM Diff,将 patch 结果发回主线程,由主线程在真实 DOM 上应用修改。因此需要在 Worker 中实现 virtual DOM,相信这也是 WorkerDOM 名称的由来吧
应用场景传送门
一行代码全站进入悼念模式
把替换成即可,简单粗暴。当然,核心代码是filter:grayscale(1),意思是「把当前元素及其后代元素设置成100%的灰度模式。
暗黑模式
媒体查询
<!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>
<style>/* * {padding: 0;margin: 0;}.article {color: var(--text-color, #eee);background: var(--text-background, #fff);}:root {--text-color: #000;--text-background: #fff;}:root .dark {--text-color: #fff;--text-background: #000;} */@media (prefers-color-scheme: light) {.article {background: #fff;color: #000;}}@media (prefers-color-scheme: dark) {.article {background: #000;color: white;}}@media (prefers-color-scheme: no-preference) {.article {background: #fff;color: #000;}}
</style>
<body><div class="article">asdadaaazkdjalkjalkjdlkajsdlkajdlkajdladjkajdladjaldjaslkdjalkljdajlaahz着黑色神测色按时来得快结案率;空当接龙卡到家了;昂昂;浪蝶狂蜂结案率;独守空房静安寺的;联发科静安上登录;看风景按时了;的看风景按时了;的咖啡机阿斯顿发了;卡说服力;卡萨丁房间爱上饭卡里发生的理发卡市解放路;卡视角的弗兰克;按实际弗兰克;按时发大水发静安寺;冷风机阿拉山口法司法局阿拉山口;地方就爱上了立法上登录;放假啦;束带结发;鞍山师范抗裂砂浆飞拉萨的;接发啥了;的附近按时了;打飞机爱是开发商;发酵的弗兰克;萨达爱福家奥德赛发生率法萨芬萨德里克开发撒娇;heasdla</div><span id="span"></span>
</body>
<script>// const darkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)');// document.getElementById('span').innerHTML = darkMode.matches// if (darkMode && darkMode.matches) {// document.body.classList.add('dark')// }// darkMode && darkMode.addListener(function(e) {// if (e.matches) {// document.body.classList.add('dark')// } else {// document.body.classList.remove('dark')// }// });
</script></html>
CSS+媒体查询
<!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>
<style>* {padding: 0;margin: 0;}.article {color: var(--text-color, #eee);background: var(--text-background, #fff);}:root {--text-color: #000;--text-background: #fff;}:root .dark {--text-color: #fff;--text-background: #000;}/* @media (prefers-color-scheme: light) {.article {background: #fff;color: #000;}}@media (prefers-color-scheme: dark) {.article {background: #000;color: white;}}@media (prefers-color-scheme: no-preference) {.article {background: #fff;color: #000;}} */
</style>
<script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.3.4/vconsole.min.js"></script>
<body><div class="article">asdadaaazkdjalkjalkjdlkajsdlkajdlkajdladjkajdladjaldjaslkdjalkljdajlaahz着黑色神测色按时来得快结案率;空当接龙卡到家了;昂昂;浪蝶狂蜂结案率;独守空房静安寺的;联发科静安上登录;看风景按时了;的看风景按时了;的咖啡机阿斯顿发了;卡说服力;卡萨丁房间爱上饭卡里发生的理发卡市解放路;卡视角的弗兰克;按实际弗兰克;按时发大水发静安寺;冷风机阿拉山口法司法局阿拉山口;地方就爱上了立法上登录;放假啦;束带结发;鞍山师范抗裂砂浆飞拉萨的;接发啥了;的附近按时了;打飞机爱是开发商;发酵的弗兰克;萨达爱福家奥德赛发生率法萨芬萨德里克开发撒娇;heasdla</div><span id="span"></span>
</body>
<script>const darkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)');document.getElementById('span').innerHTML = darkMode.matchesif (darkMode && darkMode.matches) {document.body.classList.add('dark')}darkMode && darkMode.addListener(function(e) {if (e.matches) {document.body.classList.add('dark')} else {document.body.classList.remove('dark')}});
</script></html>
webworker和darkmode笔记相关推荐
- 神经网络学习远离_使您的企业远离黑暗的网络
神经网络学习远离 Not everyone knows about the dark web. That puts many people and businesses at a disadvanta ...
- 出差现场部署环境事宜
image.png 今天晚上吃饭时吐槽前几天到公司内部部署环境人员的事情:早上9:00以后到公司(异地出差可以理解),到下午两点左右才进行到安装系统环节,两天了还不能连上服务器.吐槽人员前期准备不充分 ...
- Puppeteer 学习笔记及基本用法
Puppeteer 学习笔记及基本用法 Puppeteer 安装 语法 基本语法 API 分层结构 加载导航页面 等待元素.请求.响应 自定义等待 元素定位 用户模拟操作 请求拦截 获取 WebSoc ...
- Flutter基础笔记
目录 List里面常用的属性和方法: Set Map forEach,map, where,any,every extends抽象类 和 implements Flutter环境搭建 入口文件.入口方 ...
- vue如何让一句代码只执行一次_lt;Vue 源码笔记系列4gt;异步更新队列与$nextTick...
1. 前言 原文发布在语雀: <Vue 源码笔记系列4>异步更新队列与$nextTick · 语雀www.yuque.com 上一章我们讲到了修改数据是如何触发渲染函数的观察者,最终调用 ...
- Chakra-UI 学习笔记
Chakra-UI 学习笔记 文章出处: 拉 勾 大前端 高薪训练营 现代化 React UI 框架 Chakra-UI 1. Chakra-UI 介绍 Chakra UI是一个简单的,模块化的易于理 ...
- typeScript学习笔记day02——小肉包
typeScript学习笔记 class3 : 2021.02.24 一.TS编译选项 自动编译文件 编译文件时,使用-w指令后,YS编译器会自动监视文件变化,并在文件发生变化时对文件进行重新编译. ...
- 【NodeJS笔记】三分钟快速入门NodeJS
官网:https://www.runoob.com/nodejs/nodejs-tutorial.html 初始NodeJS 简单的说 Node.js 就是运行在服务端的 JavaScript. No ...
- 【读书笔记】知易行难,多实践
前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...
最新文章
- HttpClient 连接池设置引发的一次雪崩!
- Elasticsearch 与 Kafka 整合剖析
- Java虚拟机学习 - 类加载器(ClassLoader)
- K - FatMouse and Cheese
- PMAboutView
- 我在系统设计上犯过的14个错
- 【Ubuntu】 Ubuntu 16.04 安装经典菜单 0.10
- python数据结构的应用场景不包括,Python 数据结构学习
- 专业工程师看过来~ | RDD、DataFrame和DataSet的细致区别
- 中信银行就泄露池子个人信息致歉,网友:违法行为想靠道歉就完事?
- c语言规范标准c99中文版下载,c99标准找到了,中文HTML页面
- 联想e470c怎么修改电脑语言,联想电脑语言切换不了怎么办
- Spell Checker
- CSS-线性渐变无畸变-环形普通进度条-环形能量块进度条-局部环形普通进度条
- nu.xom.IllegalNameException: 0x20 is not a legal NCName character
- easyexcel保存数据到本地磁盘
- Haproxy集群配置
- C++字符串转为大写/小写
- android 短信数据库在哪个文件夹,安卓手机的短信备份后存到了哪个文件夹下
- 《登黄山偶感》艺术品赏
热门文章
- codeforces 538B
- LabVIEW编程LabVIEW开发吉时利Keithley 7001开关例程与相关资料
- 【Linux】Linux权限
- 路由导航 的报错 请在线大神解答。。
- Unity WebGL通过ASP.NET Web API连接SqlServer数据库
- 仿新浪微博大厅“大家正在说”功能的实现
- # 2017年蓝桥杯省赛cc++本科B组试题
- 基于MySQL的淘宝用户行为分析
- 基于mybatis设计简单信息管理系统1
- oracle access advisor,SQL Access Advisor的使用