Skip to content

Latest commit

 

History

History
72 lines (49 loc) · 2.48 KB

14.跨浏览器开发技巧.md

File metadata and controls

72 lines (49 loc) · 2.48 KB

14.跨浏览器开发技巧

  • 编写可复用的、可跨浏览器运行的 JavaScript 代码
  • 分析需要解决的跨浏览器问题
  • 优雅地解决这些问题

跨浏览器注意事项

当我们选择支持浏览器时,我们通常会做出以下承诺。

  • 我们将使用测试套件积极测试浏览器。
  • 我们将修复 bug 并回归有关浏览器。
  • 浏览器执行代码的性能水平合理。

由于基于平台/浏览器组合进行开发非常重要,因此,我们必须权衡支持多种浏览器的付出与收益。分析时需考虑多种不一致性,主要如下:

  • 目标受众的期望和需要。
  • 浏览器的市场份额。
  • 浏览器支持所需的工作量。

五大开发问题

  • 浏览器缺陷。
  • 浏览器的缺陷修复。
  • 外部代码。
  • 浏览器回归。
  • 浏览器缺失的功能。

浏览器的 bug 和差异

浏览器的 bug 修复

外部代码和标记

回归

从以下网站可以获取即将发行的浏览器信息。

实现策略

安全的跨浏览器修复方法

  • 在其他浏览器上没有副作用。
  • 不使用浏览器或特性检测。

特性检测和垫片

不可测试的浏览器问题

减少假设

小结

  • 虽然情况有了较大的改善,但是浏览器不可能没有缺陷,并且通常不支持 Web 标准。
  • 当编写 JavaScript 应用程序时,选择支持的浏览器和平台是一个重要的考虑因素。
  • 由于不可能支持所有组合,因此需要以牺牲质量赢取覆盖率。
  • 编写可运行于多种浏览器的 JavaScript 代码,最大的挑战是:缺陷修复、回归、浏览器缺陷、特性缺失以及外部代码。
  • 可重用的跨浏览器开发涉及以下几个因素。
    • 代码体积——保持文件体积尽可能小。
    • 性能开销——以优秀作为最低性能标准。
    • API质量——保证不同浏览器上API一致性。
  • 这些因素的权衡没有绝对的计算公式。
  • 每位开发人员的个人努力是可用于权衡考虑的因素。
  • 通过使用智能技术,如功能检测,当可重用代码受到攻击时,我们可以有效抵御,不需要做任何不必要的牺牲。