前端技术文章
-
PendingPromise本身不导致内存泄漏,但若持有闭包、DOM、大对象或async上下文等强引用,则会阻碍GC;需通过DevTools检查Retainers、避免悬空链、注入超时与取消机制来防控。115 收藏 -
HTML本身不能CDN加速,需将script/link/img等外部资源替换为CDN域名URL;通过浏览器Network面板检查RequestURL是否为CDN地址及响应头x-cache等字段验证是否命中CDN。115 收藏 -
三位十六进制颜色无浏览器解析歧义,所有现代浏览器均将#rgb统一展开为#rrggbb;仅当RR、GG、BB各自成对相同时才可安全缩写,如#ff6600→#f60,而#fe0123不可缩,误缩会导致色值偏差。115 收藏 -
:read-only和:read-write伪类仅响应HTML的readonly属性(非JS属性),仅对input/textarea原生生效,contenteditable需验证,disabled元素不匹配;:read-only元素仍可聚焦和提交,而:disabled彻底禁用交互;IE和旧Safari不支持,需@supports或属性选择器兜底。115 收藏 -
原生Set没有symmetricDifference是因ES2015设计时为避免API膨胀而刻意省略,需手动实现;可靠写法是遍历两集合分别添加对方不含的元素,返回新Set,兼容任意可迭代对象且基于SameValueZero比较。115 收藏 -
原生<dialog>默认不渲染,必须用showModal()或show()激活;仅设open属性可初始显示,但showModal()才启用遮罩、ESC关闭和焦点锁定。115 收藏 -
解析HTML需用专用工具:一、Python的BeautifulSoup(易用,容错强);二、JavaScript的DOMParser(前端原生);三、Python的lxml(速度快,支持XPath);四、Node.js的jsdom(服务端模拟DOM);五、命令行htmlq(轻量,CSS选择器提取)。115 收藏 -
HTML无法直接插入功能完整的在线预约日历,必须依赖FullCalendar等JS库配合后端API实现交互;iframe嵌入虽纯HTML但高度受限,核心逻辑如数据管理、冲突校验、通知等均需后端支撑。115 收藏 -
通过CSS的transform和transition实现图片悬停平滑放大,首先设置图片默认样式并添加过渡效果,再利用:hover伪类改变scale值,配合overflow:hidden和object-fit:cover优化布局与显示。115 收藏 -
构造函数内定义方法会为每个实例创建独立闭包,导致内存重复占用;应改用原型方法或延迟绑定。115 收藏 -
readonly属性允许表单提交其值,disabled属性则阻止提交;前者适用于需保留值的只读展示(如用户ID),后者适用于临时禁用且不提交的控件(如未同意协议时的提交按钮)。115 收藏 -
keygen标签已被彻底移除,所有主流浏览器均不解析;其替代方案是WebCryptoAPI手动生成密钥对或优先采用WebAuthn进行身份认证。114 收藏 -
JavaScript类型转换分隐式和显式,隐式转换在==、+、-等运算及布尔判断中自动发生,如1+"2"→"12"、"6"-"2"→4、[]为真值;对象转换先调用valueOf()再toString()。114 收藏 -
需在input和blur事件中调用checkValidity()触发红框和气泡,用setCustomValidity('')重置状态并自定义提示文案,禁用reportValidity()避免干扰,通过JS驱动验证状态确保:invalid生效。114 收藏 -
absolute子菜单总飘左上角是因为父级未设position:relative;它相对于最近非static祖先定位,若无则贴body;须确保直接父容器(如li.menu-item)设relative,且DOM无缝隙、交互全覆盖。114 收藏