-
HTML5转APP后无法直接读取短信验证码,因系统安全限制禁止Webview访问短信数据库;唯一合规方案是使用autocomplete="one-time-code"的自动填充,需短信格式规范、HTTPS环境及用户开启系统自动填充开关。
-
本文详解在VuetifyVAutocomplete+closable-chips场景下,如何统一捕获Chip被关闭的事件——不仅支持鼠标点击×,还兼容键盘(Backspace/Arrow+Backspace)等原生关闭行为,解决@click:close失效、vnode-before-unmount作用域丢失等常见陷阱。
-
<p>直接写transition在Less中易失效,因编译不合并同名属性导致覆盖、all声明引发重排、缺少will-change和backface-visibility优化、IE11缺失-ms-前缀。</p>
-
长按事件不依赖touchstart/touchend,可用pointerdown统一替代;需监听pointerup/pointercancel清除定时器,iOS需防touchstart被拦截,阈值建议500ms。
-
position:sticky须同时满足设置top/bottom、父容器不破坏滚动上下文、浏览器支持三条件,缺一不可;常见失效原因是未设top/bottom或父级存在overflow/transform等干扰属性。
-
必须用Math.sin和Math.cos,因为环形布局本质是极坐标转直角坐标,需通过角度和半径精确计算每个按钮的x、y像素位移,CSS无法动态执行三角函数,JS计算是唯一可靠路径。
-
setTimeout(fn,0)不会立即执行,因为它将回调推入宏任务队列,必须等待当前同步代码及所有微任务执行完毕后才执行。
-
多个style标签会导致HTML臃肿、无法缓存、FOUC、构建工具失效;满足无JS注入、无data属性依赖、无WebComponents伪类、无@layer/@import的可抽为CSS文件;替换时需保持link顺序与原style位置一致,并注意media属性和优先级。
-
style属性仅支持内联声明块,即property:value;格式,不支持伪类、伪元素、媒体查询、@规则、选择器或注释;其特异性为1000,优先级最高,会覆盖外部CSS及!important。
-
HTML开发真会泼洒咖啡到键盘上,概率达37%;防泼溅键盘需导流孔+纳米涂层,可3秒排干500ml液体,而普通键盘进液后Ctrl/Enter易失灵。
-
@mediaprint{.no-print{display:none!important;}}是唯一可靠、可预测的打印隐藏方式,必须严格限定在@mediaprint媒体查询内,否则会导致元素永久隐藏或打印失效。
-
事件委托是通过父元素监听子元素事件以提升性能和动态兼容性。它避免为每个子项单独绑定事件,解决内存占用高和新节点无响应问题,利用事件冒泡、精准识别目标、结合data属性实现高效处理。
-
JavaScript调试至关重要,因其运行于多样的客户端环境且错误隐蔽;需熟练使用浏览器DevTools的Console、Sources等面板,掌握断点、console高级用法、debugger语句、调用栈与作用域分析、Network排查及Watch等进阶技巧。
-
progress标签不显示百分比是设计使然,需用外置span+JS同步更新;其伪元素不支持content且浏览器兼容差异大,Firefox不支持渐变背景,应设纯色fallback或改用div模拟。
-
根本原因是未设置transform-style:preserve-3d,导致子元素在3D空间被压平;需在翻转容器设该属性、背面元素加backface-visibility:hidden,并避免overflow:hidden裁剪。