-
路由守卫无法防止连点跳转,因其在导航发起后才执行;防连点必须前置,在调用router.push前用防抖(如setTimeout+标记位)抑制重复调用,并需处理跳转失败的兜底逻辑。
-
优先用<strong>,因其具语义重要性且利于SEO与无障碍;<b>仅用于纯视觉加粗。CSS中应查清字体字重并用数字值(如700)设定,避免bold模拟加粗失真。
-
reduce的强大在于完全可控的归并过程:用户自定义每步累加器状态,支持求和、乘积、最值、计数、拼接、对象聚合、多级分组、去重及转Map等灵活数据处理。
-
window.scrollTo无反应常见原因是页面无垂直滚动;应缓存DOM查询、用opacity+pointer-events隐藏按钮;SVG图标需配aria-hidden和sr-only文本;scroll事件监听须按需设passive:false。
-
IP访问限制必须在服务器层(如Nginxdeny指令、ApacheRequirenotip)或网络边界(如CDN防火墙、iptables)实现,静态HTML文件内无法通过JS或注释控制;Nginx中deny需置于server块内且配合allowall,Apache需启用AllowOverrideAuthConfig,CDN或WAF更适于动态IP封禁。
-
dns-prefetch仅解析DNS,开销小、兼容好,适用于确定会访问但暂不加载的第三方域名;preconnect则完成DNS、TCP及TLS握手,代价高但收益直接,适用于即将高频加载的关键第三方资源。
-
HTML5转APP后NFC是否可用取决于打包方案和运行环境:纯Web页面无法调用,需通过H5+、Cordova等原生容器桥接;WebNFCAPI(NDEFReader)仅ChromeAndroid91+有限支持,iOS完全不支持;正确路径是使用原生插件(如plus.nfc),并配置权限与前台调度机制。
-
WeakMap和WeakSet的核心价值在于持有弱引用,不阻止垃圾回收,适合缓存、元数据绑定或私有属性模拟;WeakMap键必须是对象,支持私有数据存储与自动清理;WeakSet仅存对象,用于标记且不可遍历。
-
Next.js通过getServerSideProps在服务端动态获取数据并渲染HTML,实现SSR,提升首屏性能与SEO;它非React替代品,而是增强层,自动处理路由、数据获取等,区别于CSR的空HTML+JS渲染。
-
iframe是微前端的运行时集成载体,核心价值在于天然隔离子应用;但需JS动态管控生命周期、postMessage跨域通信、URL同步及错误降级等能力才能构成完整方案。
-
<p>Tailwind的shadow-类是封装的box-shadow值,非简单“一键立体”;档位差异体现设计意图:shadow-sm轻抬升、shadow-md贴边凸出、shadow-lg双层压低、shadow-2xl大模糊撑开但易卡顿;hover需配transition-shadow且防overflow-hidden裁剪;深色背景应改阴影色;自定义shadow-[]在Safari/AndroidWebView中兼容性差;shadow-inner是内阴影,非边框替代,需配合适当背景与圆角;核心在
-
label点击无反应的首要排查点是for属性与input的id是否逐字完全一致,包括大小写、连字符、下划线等;其次检查id唯一性、动态渲染后是否存在、radio/checkbox是否每个都独立绑定label,或改用嵌套写法及aria-labelledby。
-
哈希路由利用URL中#后hash值变化驱动视图切换而不刷新页面,因浏览器原生规定仅hash变更不触发重载和HTTP请求,并提供hashchange事件供监听;手写核心需三步:定义路由表、解析执行当前hash、绑定监听并首次执行。
-
触发BFC才是解决右侧内容被遮挡的根本方法,因其让容器感知浮动并重新布局;margin-left仅适用于固定宽度的简单场景,且无法解决父容器塌陷等问题。
-
类私有方法是保护内部复杂业务状态更新逻辑最直接有效的手段,通过封装校验、转换、依赖协调等环节,明确职责边界、阻止非法调用、配合私有属性构建防护闭环,并为重构提供安全空间。