【问题标题】:How can I tell what initiated a page refresh?如何判断是什么启动了页面刷新?
【发布时间】:2021-10-22 02:57:20
【问题描述】:

我有一个使用 websocket (io) 与后端通信的 web 应用程序。 (它使用 Underscore 和 JQuery,但没有什么比 React 更高级的了。)在 Safari 中,页面每隔几分钟刷新一次。

我怎么知道是什么导致了这种情况发生?在 Developer Tools Network 选项卡中,我看到了一个 xhr 和其他请求,但我如何查看是哪一行 Javascript 发起了该请求?

在调试器中停止beforeunload 事件不会在调用堆栈中显示任何内容。

【问题讨论】:

标签: javascript jquery websocket safari


【解决方案1】:

“网络”选项卡中有 initiator 列。您可以看到启动网络的原因。

注意:Chrome 版本 92.0.4515.159(官方版本)(64 位)

【讨论】:

  • 谢谢。在 Safari 中,我必须启用该列——现在我拥有它。
  • Initiator 列显示 socket.io 正在重新加载。特定的文件名 + 行号显然不正确(同时查看最小化文件和原始文件)但现在我假设 - 没有太多证据 - 这个问题是 Safari 特有的,并且 Safari 有一些限制阻止 websockets以正常方式工作,以便在超时后回退到整个页面加载。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-23
  • 2013-02-23
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 2021-12-25
相关资源
最近更新 更多