前端技术文章
-
最可靠的方式是直接在回调外保存requestAnimationFrame返回的ID。ID是取消动画的唯一凭证,需显式存储以支持暂停、恢复等帧控操作;多个动画须各自持有独立ID,避免误杀;推荐用变量显式管理,闭包仅在多实例隔离时必要。423 收藏 -
本文整理一套前端 CORS 预检失败的排查流程,从浏览器请求头、OPTIONS 预检、服务端响应、网关转发到 Cookie 场景逐步定位,帮助接口联调更快闭环。422 收藏 -
无法用纯HTML实现FedCM联合登录,因其必须由JavaScript在HTTPS安全上下文中调用navigator.credentials.get(),且需用户手势触发、正确配置providers及mediation等参数,并满足浏览器策略与服务端OIDC信任链要求。422 收藏 -
ServiceWorker的install和activate事件分别对应installing→installed和activating→activated状态阶段,install阶段缓存资源并需waitUntil确保完成,activate阶段清理旧缓存且不可在install中执行,状态流转受页面生命周期和skipWaiting()控制。422 收藏 -
不能直接用atob解WebSocket报文里的Base64——必须先清洗非法字符、再补等号至长度为4的倍数、校验格式,然后用atob转为Latin-1字符串,最后映射为Uint8Array才得真实二进制。422 收藏 -
scrollbar伪元素不支持transition,因其不属于常规渲染树;应通过transform+requestAnimationFrame模拟缓动,或用scrollIntoView({behavior:'smooth'})等滚动API实现真正平滑效果。422 收藏 -
垃圾回收是现代编程语言自动管理内存的核心机制,通过引用计数、标记-清除、分代收集和复制算法等方式回收无用对象,避免内存泄漏;主流语言如Java采用分代GC结构并结合多种收集器提升效率;不当的GC配置可能导致频繁停顿、长时间暂停、内存溢出或高CPU占用;调优需合理设置堆大小、选择合适收集器、调整新生代比例、避免大对象过早进入老年代,并结合日志监控分析;编码层面应减少强引用滥用、控制缓存生命周期、降低临时对象创建,以减轻GC压力,保障应用性能稳定。422 收藏 -
:has()不能选取父元素,仅能基于后代或兄弟是否匹配条件来筛选自身;它不反转匹配目标,仅实现条件渲染,如form:has(.error)为form自身设样式,而非其父级。422 收藏 -
因为.container的width始终为100%,但实际渲染宽度由断点媒体查询中的max-width决定;例如在≥1200px视口下,computedwidth显示1140px,正是@media(min-width:1200px){.container{max-width:1140px}}生效所致。422 收藏 -
JavaScript代码覆盖率衡量的是测试执行时源码中被实际运行的语句、分支、函数和行,而非测试数量;它不保证质量,但能暴露未触达的逻辑盲区如else分支、catch块等。422 收藏 -
drop-shadow()不能可靠实现霓虹发光效果,因它不支持多层独立控制、无法精准衰减光晕、且在Safari和Firefox中渲染不稳定;真霓虹必须用text-shadow或box-shadow配合hsl()高亮度值与逐层递减透明度。422 收藏 -
font-variant-numeric:tabular-nums仅使数字等宽,不控制对齐;需配合text-align、支持等宽数字的字体及table-layout:fixed等设置才能实现表格中数字精准对齐。422 收藏 -
根本原因是flex默认按项目整体分配空间,文字长度动态变化导致图标无法锚定末尾;需用inline-flex替代flex,文字设min-width:0和overflow:hidden,图标设flex:00auto,才能真正紧贴文字末尾。422 收藏 -
CSSGrouping选择器用逗号分隔多个独立选择器,表示逻辑“或”匹配,而非层级关系;必须用于统一设置不同类型、类名、状态元素的相同样式,漏逗号会导致误解析为嵌套选择器。422 收藏 -
thead和tbody对打印的帮助主要体现在提升可读性和优化布局,特别是在处理长表格时。以下是详细的解释:1. 提升打印可读性在打印HTML表格时,如果表格内容很长,浏览器默认会将整个表格作为一个整体进行打印,这可能导致页面上出现大量空白或表格被截断。使用和标签可以更好地控制表格的结构,使打印时表格能够分页显示,即每一页都包含表头(),而数据部分(
仅用<thead>和<tbody>标签本身不会让表头跨页重复;必须配合CSS的display:table-header-group和@mediaprint规则,且效果依赖浏览器渲染引擎,Chrome/Edge较可靠,Firefox有bug,Flyingsaucer需额外启用-fs-table-paginate。422 收藏