Web Component 生命周期演示 - 自定义元素钩子调用
创建一个自定义元素,展示 constructor、connectedCallback、attributeChangedCallback 等钩子的触发时机。
UD5工具箱
实时观察自定义元素的生命周期回调执行顺序与时机
static observedAttributes 使用。connectedCallback 可能被多次调用,而 constructor 只调用一次。
static observedAttributes 数组中时,该属性的变化才会触发 attributeChangedCallback。回调在元素连接到 DOM 之前或之后都会触发——只要属性值发生变化。如果新旧值相同,浏览器不会触发回调。注意:属性名是大小写不敏感的(HTML 属性会自动转为小写)。
adoptedCallback 在元素通过 document.adoptNode() 被移动到另一个文档时触发(例如在主文档和 iframe 之间移动)。它接收两个参数:旧文档和新文档。constructor → connectedCallback(如果属性在连接前设置,attributeChangedCallback 可能在两者之间触发)。attributeChangedCallbackdisconnectedCallbackconnectedCallback(再次触发)disconnectedCallback → adoptedCallback → connectedCallback
adoptedCallback 在 Safari 中的支持稍晚(Safari 10.1+ 基本支持,但部分场景行为可能略有差异)。对于需要支持旧版浏览器的项目,可以使用 Polyfill(如 @webcomponents/custom-elements)。
创建一个自定义元素,展示 constructor、connectedCallback、attributeChangedCallback 等钩子的触发时机。
展示一些常用内置HTML元素和自定义元素例子,提供代码复制。
发起请求获取当前URL或任意允许CORS的URL的Response Headers,展示详情。
逐步展示SW从注册、安装到激活的完整流程,并模拟更新与跳过等待的场景。
向指定 URL 发送不同 HTTP 方法的请求,显示响应状态码、头部和主体,学习 RESTful API。
在单页内模拟MPA过渡效果,自定义进场/出场动画,体验View Transitions API丝滑切换。
上传图片,自动提取主色并基于色轮生成类比色、互补色等调色板方案。
配置字体、颜色、背景,生成可粘贴到浏览器控制台的%c格式化日志代码。
在前端创建模拟 SSE 连接,接收服务器推送的消息流并实时渲染到页面。
创建当用户离线时展示的简单HTML页面,结合Service Worker使用。
将普通CSS代码转换为Styled Components的模板字符串格式。
可视化线段树的构建、单点更新和区间求和查询过程,理解树状结构。
根据输入的外部域名,生成 dns-prefetch、preconnect 和 preload 标签。
在散点图上拖拽数据点,实时更新最小二乘回归线,显示斜率和截距。
绘制 SVG 路径,让元素沿着路径运动,调整速度和缓动,生成动画代码。
输入一个数字串,在已计算的圆周率小数位中查找首次出现位置。
选择算法并随机生成数组,以彩色条动画展示排序过程,帮助理解算法。
输入代表情绪的关键词,自动匹配配色方案和字体样式,生成情绪板卡片。
对简单混淆的JS进行格式化,并尝试将短变量名替换为更具描述性的名称,提高可读性。
从上传的图片中提取主要颜色或指定像素的RGB/HEX值,生成图片调色板,辅助配色设计。
并行动画展示试除法和埃拉托斯特尼筛法查找素数的过程,对比效率。
利用 `:target` 伪类创建无需JavaScript的弹窗组件,支持关闭按钮和遮罩层。
从眉毛、眼睛、嘴巴等部件中拖拽组合,生成独一无二的日式颜文字表情,一键复制。
上传 GIF 动画,提取每一帧并拼接为单张精灵表图片,可设置排列方式,用于游戏开发。
输入常见的报错片段,基于静态库返回常见的解释和可能的修复方案。
通过注册CSS属性的类型和初始值,演示如何让渐变等属性实现平滑动画。
生成非矩形、由内向外发散的圆形迷宫,支持打印用于幼儿专注力训练。
使用Service Worker拦截fetch请求,并返回用户自定义的JSON模拟数据,用于前端独立开发。
粘贴代码自动进行语法高亮显示,支持主流编程语言,生成带行号的HTML代码块,方便嵌入博客。
向指定 URL 发送预检请求,分析 Access-Control-* 响应头是否符合预期。