如何调试未在任何 IOS 设备上加载的网站?

Posted

技术标签:

【中文标题】如何调试未在任何 IOS 设备上加载的网站?【英文标题】:How to debug website that is not loading on any IOS devices? 【发布时间】:2021-12-31 12:24:26 【问题描述】:

我有一个使用 react + next.js 开发的网站,它在除 ios 设备之外的所有平台上都能正常工作。当使用任何浏览器从 ios 设备访问网站时,浏览器加载栏会走到一半,然后一直卡住并显示空白页面。

我无法调试,因为没有出现任何错误。该网站也可以在 mac 上运行,但问题仅出在 ios 设备上。

该网站托管在 AWS lightail 上,使用 nginx 服务器和从 LetsEncrypt 安装的 SSL 证书。

我真的需要一些帮助来调试这个问题。

***更新

所以,我设法使用 browserstack iOS 模拟访问了开发者控制台,并且这些错误被不断记录下来。 Screenshot of developer console

【问题讨论】:

您能否使用 Safari 并在“开发”菜单中模拟用户代理来重现该问题? @juliomalves ,从我的 chrome 浏览器将用户代理更改为 Safari - iPhone iOS 后,该网站会加载。我不确定问题是由于错误的服务器配置还是客户端/服务器端代码中的错误。 您可以尝试在 Safari 浏览器上专门复制它(在“开发”菜单中模拟用户代理)吗?这就是 iOS 设备的用途。 @juliomalves ,刚刚在 Mac 上使用 safari 完成,网站运行良好。 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:

问题已解决。问题是由于 npm 模块 - body-scroll-lock 的错误配置造成的。由于某种原因,该问题仅在 iOS 设备中出现,没有引发任何异常。

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于如何调试未在任何 IOS 设备上加载的网站?的主要内容,如果未能解决你的问题,请参考以下文章

如何调试反应路由器未在 url 更改时加载组件

如何添加真机调试的iOS设备

Javascript onloadedmetadata 事件未在 iOS 设备上触发

iOS 今日视图未在设备上运行

如何在具有较高 iOS 的设备上调试具有较低 SDK 的 iOS 应用程序构建

OTP 未在 Android 设备上发布