我在 React/redux 中构建了一个应用程序,它适用于我尝试过的每个浏览器,但 MacOS 上的 Safari 和 iPhone 上的任何浏览器。我没有收到任何错误,没有控制台消息,没有任何信息可以给我一些想法。它只在 Safari 中呈现标签并且屏幕是空白的。
你知道我如何追踪这个问题吗?
谢谢
原文由 Michal Holub 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在 React/redux 中构建了一个应用程序,它适用于我尝试过的每个浏览器,但 MacOS 上的 Safari 和 iPhone 上的任何浏览器。我没有收到任何错误,没有控制台消息,没有任何信息可以给我一些想法。它只在 Safari 中呈现标签并且屏幕是空白的。
你知道我如何追踪这个问题吗?
谢谢
原文由 Michal Holub 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您在一台设备上有黑屏,但在另一台设备上没有,请参阅 https://stackoverflow.com/a/61215326/470749
此外,如果您的代码在某处使用 fetch
并且您的浏览器不支持它,则可能会发生这种情况。
检查浏览器和操作系统支持: https ://caniuse.com/#search=fetch
我们在示例中使用
fetch
API。它是一种用于发出网络请求的新 API,可替代XMLHttpRequest
以满足大多数常见需求。由于大多数浏览器本身还不支持它,我们建议您使用cross-fetch
库:// Do this in every file where you use `fetch` import fetch from 'cross-fetch'
在内部,它在客户端使用
whatwg-fetch
node-fetch
,在服务器上使用 —,因此如果您将应用程序更改为通用,则无需更改 API 调用。请注意,任何
fetch
都假定 Promise polyfill 已经存在。确保您拥有 Promise polyfill 的最简单方法是在任何其他代码运行之前在您的入口点启用 Babel 的 ES6 polyfill:// Do this once before any other code in your app import 'babel-polyfill'
原文由 Ryan 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
我发现了问题。它失败的主要原因是“获取”功能……这在 Safari 中不可用。我不确定为什么它不打印任何东西,但我怀疑,因为在 try/catch 中调用了“fetch”。