标签: 浏览器兼容性

12 个内容

笔记(10)

本文介绍了 JavaScript 原生深拷贝 API `structuredClone`。针对传统深拷贝方案(如 JSON 转换、第三方库)的局限性,`structuredClone` 提供了更广泛的类型支持(包括 Date、RegExp、Map/Set 等)和循环引用处理能力,并具有更好的性能表现。但需注意其不支持函数和 DOM 节点,且存在兼容性要求。

Elliot Yang·
144 浏览

本文介绍了 CSS 滚动捕捉模块中的 `scroll-margin` 属性,该属性用于定义元素在滚动定位时的外边距空间,解决锚点定位偏移和滚动捕捉精确控制问题。文章详细介绍了其语法、属性值、工作原理和应用场景,例如解决固定导航栏遮挡问题等。

Elliot Yang·
119 浏览

本文介绍了在浏览器中实现Unicode字符映射的技术方案,主要解决将特殊Unicode字符(如数学符号)转换为普通字符的问题。方案包括:利用现代浏览器原生支持的`String.prototype.normalize()`方法,以及针对旧版浏览器的polyfill库unorm。同时提及了normalize-unicode-text等轻量级库。

Elliot Yang·
138 浏览

Screen Wake Lock API允许Web应用保持屏幕唤醒。底层通过操作系统接口和浏览器进程协作实现,需安全上下文和用户交互。工程实践需关注生命周期管理和性能优化,如结合电池API和帧率控制。兼容性有差异,需防页面跳转丢失锁等问题。未来发展包括新增唤醒锁类型和用户行为感知锁管理。开发者需平衡功能与资源消耗。

Elliot Yang·
153 浏览

尾调用优化(TCO)通过复用栈帧避免栈溢出,但需严格模式和特定表达式/语句上下文。Safari支持完整TCO,V8因调试等问题未实现。实践中可用循环、Trampoline或Babel替代。TCO存在调试难、性能不确定等争议,需谨慎使用。

Elliot Yang·
124 浏览

CSS选择器经历了从基础到逻辑选择器的演进,分为基础、复合、关系和伪类/伪元素四大类。:is()、:where()、:has()、:not()等逻辑选择器功能强大,但需注意特异性和性能。掌握选择器优先级、现代浏览器特性适配和性能优化,能编写更高效可维护的CSS代码。

Elliot Yang·
92 浏览

本文总结了 HTML 规范的细节,包括:关闭表单自动填充(`autocomplete="off"`及`new-password"`),各浏览器表现差异,`autocomplete`属性值详解,以及自动填充样式的重置方案(box-shadow)。同时提到了移动端 `cursor: pointer`的影响,域名解析库psl,cookie中domain设置差异,拖拽效果实现,img标签alt属性优化SEO和无障碍,以及iOS拍照图片旋转问题。

Elliot Yang·
102 浏览

本文记录了作者开发中遇到的一些问题及解决方案。包括:node-fetch header值包含换行符错误;正则表达式兼容性问题;Jetbrains字体行高设置;Preview Tab使用习惯调整;graphql-code-generator 类型错误;.tsx文件中泛型箭头函数使用;Mac CapsLock切换输入法延迟;Git文件大小写敏感设置;GitHub Pages history mode;event.path未定义等问题,并提供了相应的解决办法或兼容方案。

Elliot Yang·
176 浏览

本文档是作者记录的问题和解决方案集锦。包括iOS Chrome下`history.pushState`导致toolbar消失的bug,monaco-editor禁用overflow-x滚动条的方法,Safari的cookie处理问题,Nest.js的header错误,OpenWrt的DNS解析,TypeScript装饰器问题,以及Docker日志无颜色、Windows键盘Win键失效等问题的解决办法。

Elliot Yang·
131 浏览

本文介绍了React的合成事件机制,它通过事件委托和合成事件抹平浏览器差异,优化性能。React 17将事件委托到root节点,移除了事件池。文章还讨论了原生事件与合成事件的响应顺序,`passive`事件监听器的作用,事件委托的优缺点,以及自定义事件的创建和使用,最后总结了阻止浏览器默认行为的方法。

Elliot Yang·
105 浏览

动态(2)

E
Elliot Yang
公开

2022-10-25 日报

  • fetch method: Patch 会导致 nginx 报 400 Bad Request,需要全大写 PATCH。
浏览:159点赞:0
E
Elliot Yang
公开

safari 的 border-radius 有 BUG 看能不能优化吧。

  • isolate 可以解决这个问题
浏览:146点赞:0