-
IntelliJIDEA中HTML5文件可借助内置浏览器、外部浏览器、内置HTTP服务器或LiveEdit插件实现预览:一、右键选OpeninBuilt-inPreview;二、配置外部浏览器后右键打开;三、通过JavaScriptDebug配置本地服务器访问;四、安装LiveEdit插件实现保存即刷新。
-
localStorage并非真正离线存储,但它是轻量易用的浏览器端持久化方案;写入失败主因有四:无痕模式禁用、超配额(5–10MB)、非字符串值未序列化、iOSSafari低内存自动清理,须用trycatch+JSON处理并降级兜底。
-
ESLint的no-magic-numbers规则仅做静态检查,不支持自动替换为具名常量,因其设计为只读分析;真正实现语义化重写的需在构建阶段通过Babel插件等可写工具操作AST,并辅以上下文判断、作用域管理与可维护性设计。
-
浮动元素后出现空白是因为其脱离文档流导致父容器高度塌陷,后续元素从顶部布局;clear需作用于浮动后的块级元素才有效,现代推荐用display:flow-root触发BFC解决。
-
Tailwindutility类不生效最常见的原因是PurgeCSS误删未直接匹配的类名或CSS引入顺序导致覆盖;需检查content配置路径是否完整、动态class是否显式声明、@tailwind三指令顺序是否正确、JIT模式是否正常工作及PostCSS插件是否加载成功。
-
MessageChannel必须为每个Worker单独创建,不支持一对多复用;Worker收到port后需显式调用port.start()才能收消息;高频小数据通信优先用port.postMessage(),大数据传输仍用worker.postMessage()+transferable;Worker无法自行创建MessageChannel。
-
推荐使用伪元素+渐变背景模拟阴影,通过::before或::after设置linear-gradient配合filter:blur()和z-index实现;也可用多层box-shadow叠加形成过渡错觉,适合简单场景;对复杂图形可选drop-shadow();CSSPaintAPI为实验性方案。
-
focus()失效主因是元素不可聚焦、DOM未就绪或浏览器拦截;需确保元素可聚焦(原生标签或tabindex≥0)、在DOMContentLoaded后调用、并在用户交互中触发聚焦。
-
因为Promise.all不支持暂停、取消、优先级插队或降权重试;需用最小堆实现PriorityQueue,按priority主序、timestamp次序排序任务,并通过运行中Set控制并发与高优“挤掉”低优。
-
Generator函数不直接处理异步,而是通过yield暂停/恢复执行,由执行器(如co、redux-saga)驱动异步流程;async/await是其语言级替代方案,更轻量直观。
-
fetch是Promise驱动,XMLHttpRequest是事件回调驱动;前者默认不带Cookie、无上传进度支持、需AbortController取消,后者默认发Cookie、支持upload.onprogress、直接abort()且兼容性更强。
-
TreeShaking是构建时基于ES模块静态结构移除未使用导出的优化技术,依赖具名导入、字面量导出和无副作用声明,并需正确配置构建工具。
-
怎么用:invalid让输入框自动标红直接加:invalid样式就行,但得先确保表单控件有校验约束(比如required、type="email"),否则浏览器根本不会触发这个伪类。它只对「原生校验失败」生效,不是你随便输点啥就变红。常见错误是写了:invalid却没反应——八成是没加required或用了自定义校验(比如JS的setCustomValidity())但没调用reportValidity()。input[type="email"]输入“abc”会触发
-
可在Jimdo中通过四种方法嵌入动态图表:一、用Chart.jsCDN在HTML区块中直接渲染;二、iframe嵌入外部托管图表页;三、调用GoogleChartsAPI;四、用Datawrapper等工具将表格转为嵌入式图表。
-
纯CSS画标准爱心最稳方式是用伪元素:主元素旋转-45°作底座,::before和::after画两个相切正圆,宽高相等、border-radius:50%、top/left精确定位;动画需设transform-origin:center、用cubic-bezier缓动、uniformscale避免形变。