前端技术文章
-
stopPropagation()用于精准截断事件冒泡路径,防止父元素监听器被触发;在React中需在事件处理函数内正确调用,避免顺序错误或空处理,且不可与preventDefault()混淆。247 收藏 -
HTML本身不能实时查汇率,必须配合JavaScript调用第三方API实现;需注册获取密钥、处理CORS、校验响应字段、避免错误缓存,并注意移动端兼容性与HTTPS要求。335 收藏 -
应使用document.addEventListener('DOMContentLoaded',...),因其在HTML解析完成、DOM树建好后立即触发,不依赖CSS、图片等资源加载;而onload仅适用于body、img等少数元素,且需等待所有资源加载完毕,易导致延迟或失效。180 收藏 -
margin:auto水平居中需满足两个前提:元素为块级(display:block)且设置了明确宽度;否则对内联、浮动、绝对定位元素或无宽元素无效。457 收藏 -
html5play函数根本不存在,它是对HTMLMediaElement.play()的误记或杜撰;正确做法是用URL.createObjectURL()创建临时URL并由用户手势触发play()。374 收藏 -
HTML中,id属性的唯一性约束是指在一个页面中,每个id值必须是唯一的,不能重复。这是HTML规范的要求,确保每个元素可以通过id被唯一地标识和访问。锚点跳转与JS关联锚点跳转(Anchor Link) 通过实现页面内跳转,浏览器会滚动到具有对应id的元素位置。例如:跳转到第一部分
实现页面内跳转,浏览器会滚动到具有对应id的元素位置。例如:跳转到第一部分
">id属性必须全局唯一,因document.getElementById等机制均按“只取第一个”实现,重复会导致JS取值错误、CSS样式不可靠、锚点跳转错位及无障碍功能紊乱。152 收藏
签名生成本质是JS调用crypto.subtle.sign()执行HMAC-SHA256哈希,需将payload转Uint8Array、secret导入为CryptoKey,输出ArrayBuffer再转hex;常见不一致源于payload序列化、secret隐藏字符及编码不统一。456 收藏
HTML本身没有“设置文档推荐应用”的能力,所谓“推荐应用”是操作系统或浏览器根据文件扩展名、MIME类型、Content-Disposition响应头等综合判断的,HTML页面无法强制指定哪个App打开下载文件。为什么链接点击后没用指定App打开?用户常误以为加个target或rel就能控制本地App启动,其实不行。浏览器对这类链接的处理逻辑是:先检查该文件扩展名(如.pdf、.xlsx)是否被系统注册了默认应用再看响应头里有没有Content-Typ446 收藏
可通过配置编辑器、系统快捷方式或自动化工具实现HTML快捷预览。1、在VSCode中安装“OpeninDefaultBrowser”扩展并设置快捷键如Ctrl+Alt+O;2、为HTML文件创建桌面快捷方式,通过属性设置快捷键如Ctrl+Alt+H;3、使用AutoHotkey编写脚本绑定快捷键,运行指定HTML文件。161 收藏
ESM默认导出在CommonJS中需通过default属性访问;2.ESM命名导出在require中不可直接使用;3.CommonJS模块被ESMimport时作为default导入;4.循环依赖在两者间行为不一致,易引发运行时错误。433 收藏
块状链表通过将数据分块存储,结合链表与数组优势,提升插入、删除和查找效率。308 收藏
HTML进度条<progress>不能替代加载状态提示,它仅语义化表示确定任务的完成比例;真正加载中应使用CSS动画、骨架屏配合aria-busy和aria-live实现无障碍反馈。203 收藏
color-mix()是唯一标准且可控的模拟减淡遮罩的颜色生成方案,需显式混入白色(如color-mix(insrgb,#6a5acd,white40%)),不支持whiteness等参数;兼容性需手动降级,且权重表示颜色贡献比例而非明度提升量。200 收藏
CSSLint是由NicholasC.Zakas和RebeccaMurphey开发的CSS代码质量检测工具,用于发现性能问题和不规范写法。安装需先配置Node.js,再通过npm全局安装:npminstall-gcsslint。使用csslintstyles.css可检查文件,输出包含问题级别、规则名和位置。支持选项如--errors=display指定检查类型,--warnings=important控制警告,--quiet仅显示错误,--format=compact设置输出格式。可创建.csslint192 收藏
优先选择语义最匹配的API:查找用find/findIndex,判存在用some;性能瓶颈时再用for+break优化。for循环最可控高效,find语义最强,for...of可读性好但有轻微开销。110 收藏