前端技术文章
-
Cookie本身不侵犯隐私,风险源于开发者将其用作跨站追踪载体;现代浏览器默认阻止第三方Cookie并强制SameSite=Lax,替代方案需服务端重构与精细权限控制。166 收藏 -
nonce本身不放行脚本,仅当服务端CSP响应头、HTML标签nonce值、随机性三者严格对齐时才生效;否则报“Refusedtoexecuteinlinescript”,常见原因包括响应头缺失、大小写/空格不匹配、meta设置无效、模板插值失败或JS动态设置。160 收藏 -
ShadowDOM中自定义事件target混乱的根本原因是未设composed:true;必须同时满足bubbles:true和composed:true,外部才能正确接收事件,且event.target被重定向为宿主元素属正常设计,真实目标需用event.composedPath()[0]获取。360 收藏 -
箭头函数语法更简洁且继承外层this,适合回调;传统函数有独立this和arguments,可用于构造对象。203 收藏 -
<p>直接改box-sizing:border-box能解决大部分百分比布局错位,但仅写{box-sizing:border-box;}常失效,因未覆盖::before/::after伪元素(不继承该属性)、第三方组件shadowDOM(样式隔离)、旧版Safari对表单控件支持不稳定;正确写法是,::before,::after{box-sizing:border-box;}并置于CSS最顶部。</p>125 收藏 -
用text-decoration:none显式覆盖a元素及其伪类(:link、:visited、:hover、:active、:focus),按LVHA顺序声明,避免父容器设置或遗漏状态导致下划线残留。337 收藏 -
WebSocket是基于TCP的全双工通信协议,支持持久连接、双向实时消息、轻量帧头,需手动处理重连与JSON序列化,适用于聊天、实时通知等场景。473 收藏 -
在JavaScript中创建仪表盘主要有两种方法:1.使用CanvasAPI,适合需要频繁更新的场景;2.使用SVG,适用于复杂图形和不需要频繁更新的场景。这两种方法各有优缺点,选择时需考虑性能、响应式设计、用户交互、可访问性和数据驱动等因素。280 收藏 -
Promise构造函数是同步执行的,其executor回调在newPromise时立即运行,resolve/reject调用也同步改变状态,但then回调需等待微任务队列。448 收藏 -
Redux是JavaScript中成熟的状态管理库,核心遵循单一数据源、状态只读、纯函数更新三原则;现代开发推荐使用ReduxToolkit简化流程,适用于多组件共享状态、逻辑复杂或需调试回溯的场景。213 收藏 -
JavaScript中this的值取决于函数调用方式而非定义位置:普通调用时非严格模式指向全局对象、严格模式为undefined;对象方法调用时指向点号左侧对象;new调用时指向新实例;箭头函数不绑定this,继承外层词法作用域的this。379 收藏 -
:modal伪类目前在任何主流浏览器中都不被支持,HTML标准中也不存在;可用的是dialog[open]属性选择器及focus-within等替代方案。442 收藏 -
可定制迭代器是核心机制,通过统一接口、自动注册、按需组合与上下文管理实现解耦扩展:next/reset方法、type标识、动态注册、配置驱动装配、错误隔离及作用域上下文。499 收藏 -
使用fixed定位可创建不随页面滚动的悬浮按钮,通过设置bottom和right固定位置,结合border-radius、box-shadow等样式实现圆形悬浮效果,并可添加transition动画增强交互体验。157 收藏 -
CSSPaintAPI画圆点必须通过Worklet注册,不能直接写CSS或用canvas模拟;需将painter类放在独立JS文件中,用CSS.paintWorklet.addModule()异步加载后才能生效。383 收藏