我们在 ShopTalk 上前几天遇到了这个问题。 我们如此担心 (理所当然地) 网站性能,感觉我们不应该一直加载 polyfills,而应该在检测到需要时才加载。Philip Walton
… 今天太多人构建网站时采用“最低公分母”的方法。 我的意思是,他们将相同的 JavaScript 包发送给所有用户 (无论浏览器功能如何),而他们发送的包包含使网站在他们想要支持的最旧浏览器中运行所需的所有代码。
虽然我理解这种方法很简单,但它不尊重您的用户,并且将您的便利置于他们的体验之上。
令人惊讶的是,他的策略是
- 对支持所有必需内容的浏览器进行测试
- 如果通过:启动所有其他内容
- 如果任何内容失败:加载所有 polyfills 然后启动
这个想法是保持简单,不要让自己陷入复杂的状态,在那里你试图适应“浏览器现在可能处于 32 种不同的状态”这种情况。