网页需要用户交互才能在 Safari 中加载

Webpage Requires User Interaction to Load in Safari

提问人:Nikhil Jain 提问时间:9/18/2023 最后编辑:Nikhil Jain 更新时间:9/20/2023 访问量:37

问:

我有一个 Web 应用程序,与 Chrome 和 Firefox 等其他浏览器相比,它在 Safari 中的行为很奇怪。具体来说,只有当我手动触发用户交互(例如单击或键盘事件)时,我的 Web 应用程序中的某些页面才能在 Safari 中正确加载和运行。如果没有此交互,页面将保持加载状态。

以下是有关该问题的一些关键详细信息:

该问题与Safari隔离;其他浏览器按预期工作。 Safari 开发者工具的控制台或网络选项卡中没有明显的错误或警告。 该问题仅影响我的 Web 应用程序中的特定页面,而其他页面无需用户交互即可正常工作。 Web 应用程序依赖于 Angular,某些页面可能包含 AJAX 或 http 请求、事件侦听器和 DOM 操作。 我已经彻底审查了 Typescript/JavaScript 代码和事件处理逻辑,但无法确定此行为的任何明确原因。

我将不胜感激任何见解、建议或调试策略,以帮助我解决这个问题并确保所有浏览器(包括 Safari)的功能一致。

已检查Safari开发者工具的控制台和网络选项卡中是否有错误或警告,但未发现与该问题相关的错误或警告。 查看了受影响页面的 JavaScript 代码,包括事件处理程序、AJAX 请求和 DOM 操作,以确保它们已正确实现。 在不同版本的 Safari 以及其他浏览器(Chrome、Firefox)中测试了 Web 应用程序,并按预期工作。

javascript angularjs typescript 谷歌浏览器

评论

1赞 somethinghere 9/18/2023
这实际上取决于您要做什么,大多数事情都不需要用户交互,除了播放带有音频的视频。我没有遇到过这种情况,而且由于您根本没有提供任何代码,因此我们无法了解为什么在您的特定情况下会发生这种情况,因此请提供一个在 Safari 中阻止的最小、可重现的示例
0赞 Dalibor 9/18/2023
例如,如果您指的是播放视频,那么有一种方法可以在开发人员模式下启用自动启动,只是为了您。但是,您不能强制将其用于生产模式。
0赞 Nikhil Jain 9/19/2023
我不知道代码的哪一部分造成了问题,这就是我没有提供代码的原因,任何帮助将不胜感激
0赞 Nikhil Jain 9/19/2023
不,这里的用户交互意味着点击,当我点击页面上的任何地方时,它会按预期加载。

答: 暂无答案