教程 > popper.js 中文教程 > 阅读:446

popper.js 浏览器支持情况——迹忆客-ag捕鱼王app官网

popper 支持现代版本的 chrome、firefox、safari、edge。 ie11 适用于一些 polyfill。 此外,应该支持任何基于 chromium 的浏览器,例如 opera、beaker 等。


ie 11

ie11(以及一般的旧浏览器)需要 polyfills 才能工作。 让 popper 工作的最简单方法是使用以下 polyfill 服务:


不需要 polyfill 的浏览器不会受到 js 包大小的影响

支持说明

如果您需要支持旧浏览器,请确保在使用 cdn 时将 popper 的版本锁定为特定版本号。 在新版本中,我们可能会添加更多需要新 polyfill 的现代功能,否则 ie11 中的定位行为可能会中断,因为它完全未经测试。 我们不打算正式支持 ie11,但欢迎 pr 修复问题。 大多数情况下,ie11 似乎可以正常工作,但在某些情况下可能会出现边缘情况。


safari

safari 在更新 dom 元素的位置方面有一些不幸的怪癖。 我们已经为这些提交了 webkit 错误,所以希望它们能在未来得到修复。

在 macos 和 ios 上,当 popper 被阻止溢出根视口边界时,它可能会在滚动时出现滞后(不是 1:1 同步)。 对于 ios,这也发生在滚动容器中。

我们建议仅针对 safari 使用以下选项之一:

  • 将防止溢出修饰符( preventoverflow )的 rootboundary 设置为“document”
  • 滚动时隐藏 popper

固定策略

在最新版本的 macos safari 中,当弹性过度滚动(橡皮筋效果)正在进行时,固定元素将与参考元素分离,因为它们不再包含弹性过度滚动 - safari 报告滚动包含。 在 ios 上,这不是问题。

此外,在滚动文档时,也会出现上述的轻微滞后,因为滚动时需要不断更新popper,而safari并不擅长。 理想情况下,此策略应仅在参考元素固定时使用,而不应将 popper 从剪辑容器上下文中“打破”。


ie10 以及更早版本浏览器

早于 2013 年的浏览器(包括 android 4.4)将永远不会得到支持,因为它们变得越来越过时并为库增加了大量复杂性(运行时和捆绑)成本。

我们鼓励任何 internet explorer 用户升级到 microsoft edge,他们的最新版本基于 chromium,允许毫无问题地呈现所有现代网站,但仍提供兼容模式来呈现旨在与 internet explorer 一起使用的旧网站。

查看笔记

扫码一下
查看教程更方便
网站地图