在 React 中使用 Shadow DOM
1. Shadow DOM 是什么
Shadow DOM 是什么?我们先来打开 Chrome 的 DevTool,并在 'Settings -> Preferences -> Elements' 中把 ' Show user agent shadow DOM' 打上勾。然后,打开一个支持 HTML5 播放的视频网站。比如 Youtube:
可以看到 video
内部有一个 #shadow-root
,在 ShadowRoot 之下还能看到 div
这样的普通 HTML 标签。我们能知道 video
会有「播放/暂停按钮、进度条、视频时间显示、音量控制」等控件,那其实,就是由 ShadowRoot 中的这些子元素构成的。而我们最常用的 input
其实也附加了 Shadow DOM,比如,我们在 Chrome 中尝试给一个

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Dokit支持iOS本地crash查看功能
一、前言 在日常开发中或者测试过程中,我们的应用可能会出现Crash的问题。对于这类问题我们要抱着零容忍的态度,因为如果线上出现了这类问题,将会严重影响用户的体验。 如果Crash出现的时候恰好是在开发过程中,那么开发者可以根据Xcode的调用堆栈或者控制台输出的信息来定位问题的原因。但是,如果是在测试过程中的话就比较麻烦了。常见的两种解决方案是: 直接把测试手机拿来连接Xcode查看设备信息中的日志。 需要测试同学给出Crash的复现路径,然后开发者在调试过程中进行复现。 不过,以上两种方式都不是很方便。那么问题来了,有没有更好的方式查看Crash日志?答案当然是肯定的。DoraemonKit的常用工具集中的Crash查看功能就解决了这个问题,可以直接在APP端查看Crash日志,下面我们来介绍下Crash查看功能的实现。 二、技术实现 在iOS的开发过程中,会出现各种各样的Crash,那如何才能捕获这些不同的Crash呢?其实对于常见的Crash而言,可以分为两类,一类是Objective-C异常,另一类是Mach异常,一些常见的异常如下图所示: 下面,我们就来看下这两类异常应当如...
- 下一篇
Golang 依赖注入(Dependency Injection)
Dependency Injection ? 依赖注入是目前很多优秀框架都在使用的一个设计模式。Dependency Injection 常常简称为:DI。它是实现控制反转(Inversion of Control – IoC)的一个模式。 在各种大工程中少不了各种测试,其中 TDD 就是非常流行的一种,在前端开发中用的比较多的 Jest 就是一种,在 Golang 开发命令行工具的时候也是需要 DI 这种模式来实现命令行测试的。因为传统的测试室获取不到命令行的输入输出的。 工程意图 仓库:https://github.com/guzhongren/TDD/tree/master/10.dependency-injection编写一个命令行工具库,打包并运行程序,根据工具名称后面的名称来显示 'Hello, + 名称'。 简化程序 我们知道 golang 打包后就是一个可执行程序,程序名称根据你指定的名称显示,那么要实现这个工具就是需要接收到程序名后面的参数并显示出来。但本次的重点是实现 DI, 所以我们将重点放在命令行的测试与实现上。我们只实现 Greet 函数的 DI 就可以了。...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7设置SWAP分区,小内存服务器的救世主
- Hadoop3单机部署,实现最简伪集群
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题