-
JavaScript操作cookie需通过document.cookie,读写受限;写入用key=value;expires=...格式,读取需解析字符串,删除需设过期时间;单个最大4KB、同域约20–30个,不安全且易被清除,适合存登录态等需自动随请求发送的轻量数据。
-
PerformanceAPI通过getEntriesByType和PerformanceObserver可可靠获取FCP、LCP、CLS等WebVitals指标;用户行为埋点应聚焦可见性、路由、核心交互等可归因事件;上报优先用sendBeacon批量异步发送,避免阻塞。
-
HTML5中文乱码需四步解决:一、在<head>首行添加<metacharset="UTF-8">;二、确保文件以UTF-8无BOM编码保存;三、检查服务器Content-Type响应头含charset=utf-8;四、保证meta标签前无任何非ASCII字符或空行。
-
应使用aria-current="page"标记生效的筛选项,并同步URL参数、内存状态与DOM属性,确保四者一致;多选时用扁平对象管理状态并动态生成去重标签。
-
CSS动画不会因遮挡或切页自动暂停,需用visibilitychange监听页面可见性或IntersectionObserver检测元素可视性来手动控制播放状态。
-
父元素高度被子元素“撑开”的根本原因是其height默认为auto,而auto的计算逻辑是包裹所有参与文档流的子元素内容高度;脱离文档流(如float、absolute)、父设固定高度或子用height:100%(父无确定高度)则不会撑开。
-
本文介绍如何利用CSSFlexbox解决两个表格因宽度过大而重叠、无法同时完整显示的问题,通过display:flex与flex-grow:1实现自动等分容器空间、强制压缩表格宽度,确保双表并列可见且响应式友好。
-
JavaScript的对象属性描述符不只是用来定义一个属性是否可写或可枚举,它们在构建健壮、可控的对象时提供了强大的控制能力。通过Object.defineProperty和Object.getOwnPropertyDescriptor等方法,可以实现更精细的属性管理。以下是几个实用且高级的用法。1.创建不可变但可配置的属性有时候你希望某个属性的值不能被修改,但在特定条件下允许重新定义它。这可以通过设置writable:false但保留configurable:true来实现。说明:这样属性
-
日常开发优先用rem,内联样式或组件原子化控制可用px,em容易嵌套失控,新手慎用。
-
首先确保使用支持WebAssembly的现代浏览器(如最新版Chrome或Firefox)并通过本地HTTP服务器访问UE4打包的HTML5内容,避免直接双击index.html;其次检查项目设置中HTML5平台的编译配置、EmscriptenSDK路径及堆内存大小是否正确;最后通过开发者工具查看控制台错误,排查wasm加载失败或内存不足等问题。
-
Vue.js图片懒加载指令基于IntersectionObserverAPI实现,支持Vue2/3,含兼容降级、错误处理与轻量性能监测,兼顾复用性、性能与体验。
-
使用Symbol作为provide/inject键名可避免命名冲突、提升类型安全与模块封装性,因其每次调用生成唯一值,配合TypeScript和InjectionKey能实现编译期检查与IDE智能提示。
-
可通过text-align:center、Flex布局、margin:auto(需display:block)、Grid布局及响应式适配五种方式实现<audio>元素水平居中,各方法适用场景与设置要点明确。
-
Flex布局垂直居中需设display:flex和align-items:center;头像须定宽高,简介用flex:1;响应式用rem+媒体查询调根字号;多行卡片用min-height或-webkit-line-clamp截断;IE11需加-ms-flex前缀并避免align-content。
-
链表是一种通过节点存储数据的非连续内存结构,每个节点包含数据域和指针域,通过指针连接实现高效插入删除。单向链表由头节点开始,next指向下一节点,末节点指向null;基本操作包括头部/尾部插入、删除指定值节点、查找与遍历。双向链表增加prev指针,支持前后双向遍历,提升操作灵活性。相比数组,链表适合频繁修改场景,但访问需从头遍历,时间复杂度O(n)。常用于实现栈队列、浏览器历史、播放列表等动态集合。