-
无感刷新Token本质是前端JavaScript配合后端接口协作完成的,HTML仅承载逻辑;因其静态性无法发起请求、处理响应或控制鉴权头,故不能单独实现无感刷新。
-
作用域插槽是实现Tab页签标题动态图标的最直接方式,核心是将图标逻辑解耦至父级,由数据控制图标、高亮、禁用等状态;仅el-tabs支持#tab作用域插槽,需通过其插槽及作用域参数(如name、activeName)动态渲染图标并响应状态。
-
BroadcastChannel同步登录态的核心是“状态变更即广播,广播即更新本地状态”,它作为跨标签页通信桥梁,配合Pinia等状态库实现响应式同步;需统一channel名、结构化消息、防重复发送、安全更新store、缓存未就绪消息,并用localStorage降级兜底。
-
不能。WindiCSS构建时扫描源码提取静态class字符串生成CSS,需接入Vite等构建环境并配置include路径;动态class需注释或extract显式声明,且不支持@apply和运行时HTML分析。
-
ESLint--fix不能自动修复逻辑错误,因为它仅支持格式类问题(如缩进、分号)和部分可推断的静态规则(如no-unused-vars),而逻辑错误(如if(x=0)、for循环条件错误)需语义分析,无法安全自动修正。
-
最常用方式是通过<link>引入CDN版Icon集,需确保URL正确且加载顺序在使用图标前;本地引入需注意路径与MIME类型;Iconify则通过API动态加载SVG图标。
-
GitHubPages、Vercel、Netlify托管静态HTML项目时,核心要点是:用相对路径引用资源,确保index.html命名准确且大小写敏感,避免绝对路径;GitHubPages要求仓库公开、默认支持根目录或/docs;Vercel需检查BuildOutputDirectory并慎用SPAfallback;Netlify需配置_redirects文件支持多页访问;所有平台均需通过浏览器Network面板验证资源请求路径是否正确。
-
某些选择器在特定浏览器中失效是因为这些浏览器版本过低或不完全支持较新的CSS标准,导致无法识别如:has()、:focus-within等现代选择器,进而忽略整个CSS规则块;解决方法是降级使用基础属性选择器,例如用[class*="..."]替代模糊类名匹配,用input[type]结合JS实现:checked的兼容效果,并通过重构HTML结构或使用@supports检测、PostCSS转译等手段提升样式兼容性,确保在IE7+等旧环境也能正常渲染。
-
overflow:hidden能让右侧自适应是因为触发BFC后形成独立渲染区域,自动避开浮动元素空间;display:flow-root是更优现代方案,语义清晰且无副作用。
-
navigator.clipboard.writeText()仅支持text/plain格式,无法保留超链接、加粗等样式,因外部应用(如Word、Notes)只解析text/html或CF_HTML;需用write()配合含text/plain与合法text/html(含StartFragment等结构)的ClipboardItem实现富文本复制。
-
BEM不支持继承关系,因其要求每个类名脱离DOM结构独立存在、可迁移、可识别归属;禁止使用.card__content.button等后代选择器,避免样式意外生效、渲染性能下降及维护困难。
-
$subscribe是Pinia监听状态变更最轻量推荐方式,监听mutation提交而非响应式赋值,接收mutation和state参数,支持埋点、过滤、聚合、防抖及插件化全局注册。
-
JavaScript状态管理本质是解决跨组件、异步场景下的状态同步问题,核心在于观察者模式+单一数据源;Redux强调纯函数reducer与显式action,Zustand适合模块化状态,Jotai侧重原子化组合。
-
::selection不生效的主因是优先级覆盖、user-select:none禁用选择、input/textarea需专用伪元素、Firefox要求全局作用域、CSS-in-JS/ShadowDOM作用域限制及浏览器前缀差异;跨浏览器需同时声明::selection和::-moz-selection,禁用!important与rgba半透明色,动态换色须JS注入style标签。
-
HTML转Markdown有四种方案:一、Pandoc命令行工具,高保真转换但忽略样式与脚本;二、TurndownJS库,适合网页实时转换,需手动配置规则;三、在线工具如html-to-md.net,便捷但存数据泄露风险;四、Python的html2text库,中文兼容好,不自动处理图片资源。