-
HTML文件本身不适合长期缓存,应设no-cache或max-age=0,must-revalidate确保每次验证更新;静态资源则需配合内容哈希与immutable指令实现强缓存,CDN策略必须与源站响应头一致,否则易导致版本错配。
-
闭包实现异常自动回滚的核心是将全部数据变更操作封装在DB::transaction闭包内,确保异常穿透触发回滚;禁止闭包内try-catch拦截、前置校验须用throw_if/throw_unless中断,返回值天然代表事务成功结果。
-
单页应用路由本质是用history.pushState/replaceState改URL并操作历史栈,配合popstate监听导航,需服务端兜底返回index.html且前端主动匹配初始路径。
-
HTML模块复用需在构建期介入,用posthtml-include等工具将header.html等片段内联为标准HTML,避免fetch动态注入导致的样式丢失、脚本不执行及SEO问题。
-
HTML转PDF样式丢失主因是媒体查询和相对单位被忽略,需强制启用样式、换用pt/mm单位、显式写@mediaprint并嵌入中文字体;动态内容需等待JS执行完毕;PDF体积大或文字不可选源于图片base64和字体未嵌入。
-
required属性失效的5种常见原因:1.用在非支持元素上;2.元素被disabled或hidden禁用;3.inputtype不支持required;4.非原生submit事件触发提交;5.JS清空值后未重置validity状态。
-
srcset应根据图片容器是否固定宽选择x或w描述符:固定尺寸用1x/2x,响应式布局必须用400w/800w配合sizes;二者不可混用,否则整个属性被忽略而回退到src。
-
用HTML表格写报价表应严格遵循语义化规范:用<table><thead><tbody>结构,<thscope="col">定义列头,价格列统一用<tdclass="price">并配合CSS右对齐与等宽数字字体,禁用rowspan/colspan和空格对齐,导出Excel需加UTF-8BOM,移动端优化须设table-layout:fixed及列宽。
-
必须同时设置-webkit-background-clip:text、background:linear-gradient()和color:transparent,且元素为inline或inline-block;Firefox不支持该特性,需用@supports降级。
-
写padding应按顺时针顺序(上右下左),优先用单边属性;两值为上下/左右,三值为上/左右/下;失效常因box-sizing、inline元素或overflow隐藏;勿与margin混用,后者会合并且不影响背景。
-
支配关系指:若所有从GCRoots到对象B的路径都必须经过对象A,则A支配B;A被回收则B必然不可达并被回收。支配树以此关系构建,反映“回收影响”拓扑,用于精准定位内存瓶颈。
-
getters适合封装纯函数式搜索逻辑,应分离搜索条件与数据源,按高选择性过滤→模糊搜索→排序顺序组合基础getter,并对大数据集启用缓存、节流及异步搜索模式。
-
多个await执行顺序取决于Promise是否串行发起或相互依赖:串行await因结果依赖必须依次等待;并行await应先发起所有独立请求再用Promise.all统一await;混合模式则先串行获取基础数据,再并发拉取子资源。
-
SharedWorker是浏览器端唯一支持跨标签页复用WebSocket以降低服务端并发连接数的机制,需同源HTTPS/localhost运行,连接逻辑、重连、心跳、消息路由(含clientId隔离)及状态同步均须在Worker内实现。
-
优先用::after实现全屏水印是为避免与Vue/React条件渲染生成的首节点冲突,::before易被误判为内容前置导致定位偏移;::after更稳定挂载末尾,配合position:fixed层级控制更可靠。