我们正在将我们的 React v17 应用程序升级到 v18。目前,我们使用 react-app-polyfill 和 bowser 来检查用户是否使用受支持的浏览器,如果不是,则显示一个简单的警报。该应用程序无法在 IE11 上正常运行,但至少会出现警告。
既然我们没有任何支持 IE11 的特定要求,那么删除 polyfill 依赖项会很好,但显然没有它,React 应用程序中的任何内容都不会呈现,包括警报。 除了将文本硬编码到 index.html 根 div 的 hacky 解决方案之外,是否有人有一种简单的方法来通知用户 a) IE11 和/或 b) 任何不合适的浏览器他们的浏览器不受支持?
最佳答案
您可以使用 <script>
标记为 nomodule
attribute在你的里面index.html
像这样:
<script nomodule>
alert('Sorry, you need to upgrade your web browser :(');
// or
window.location.href = 'a static page where you explain what to do';
</script>
此脚本只会在不支持 ES 模块的网络浏览器上执行,这些浏览器是 Chrome
https://stackoverflow.com/questions/74154325/