如何调试未在任何 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 设备上加载的网站?的主要内容,如果未能解决你的问题,请参考以下文章
Javascript onloadedmetadata 事件未在 iOS 设备上触发