1

我有一个(WebRTC)Web 应用程序跨三个选项卡运行:

  • 选项卡 1 重置数据库(删除任何现有数据,重新创建初始数据集)
  • Tab 2 充当客户端 #1,向服务器发送异步请求
  • Tab 3 充当客户端 #2,向服务器发送异步请求

我注意到的是,如果我重新加载选项卡 1,其他一个或两个选项卡会自行关闭(如从 Chrome 的选项卡列表中删除)。我在 IRC 上询问了 Chrome 开发人员,他们坚持认为 Chrome 会打印“Aw snap!” 在选项卡崩溃的情况下,但不会将其从选项卡列表中删除。我相当确定我自己的代码没有关闭页面。

我怎样才能弄清楚什么/谁在关闭标签?

4

2 回答 2

0

我对 Javascript 或 Chrome 不太了解,但我最近一直在做一些套接字编程,如果服务器出现故障,客户端通常会崩溃,除非他们意识到服务器断开连接并处理它(try/catch 语句) . 我的建议是确保您的客户端能够处理服务器退出它们。

于 2013-01-15T23:05:13.737 回答
0

我觉得迟钝。

所以,在调查这个问题的几天里,我发现我的代码正在调用一个函数以防网络错误,而这个函数正在调用close(). 它没有解决我班级的close()方法,而是解决了window.close()。猜猜接下来发生了什么?:) 选项卡关闭。

让这个问题变得特别困难的是两个 Chrome 特有的错误:

简而言之:window.close()在它不应该的时候工作,而当它失败时,它会默默地这样做。

无论如何,我认为这件事已经结束。我希望这有助于其他人在未来避免犯同样的错误。

于 2013-01-17T22:24:25.697 回答