如何防止使用Comet时Chrome出现“Aw snap!”错误?

3

我正在使用Google Chrome进行测试,因为将来彗星页将在嵌入式Google Chrome中加载。

大约12小时后,我猜测Comet文件变得太大了,Chrome会显示官方提示:aw snap page

如何防止Chrome似乎在页面打开那么长时间后崩溃?

我需要刷新iframe吗?

我的尝试是每2分钟使用彗星脚本$('script').remove(),所以我想这会从DOM中删除它们,但文件仍然越来越大...

有人能帮忙吗? ^_^

如果需要,我将提供尽可能多的代码。(JS或PHP)


你是否必须使用Comet?相反,你可以利用内置的Chrome WebSocket类吗? - Tom Gruner
我没有尝试过这个,但对于php和chrome可能很有用:http://code.google.com/p/phpwebsocket/ - Tom Gruner
@Tom 由于安全问题,我们不能使用 WebSocket。 - Naftali
Websocket 中存在哪些安全问题? - alexyorke
@alexy13,刚刚阅读了维基百科:http://en.wikipedia.org/wiki/WebSockets,并在谷歌上搜索websocket安全问题,你会发现很多相关内容。 - Naftali
1个回答

0

我会尝试在一段时间后重新启动 Comet。一个小时或更短。

删除使用的 iframe 并 appendChild() 一个新的。


@ZJR 这正是我所想的,但彗星应该多久刷新一次呢?一个小时似乎太频繁了,不是吗? - Naftali
我觉得这取决于你的应用程序。考虑到我会将彗星应用于的事情(快速交互),1小时可能很长。无论如何,很难说12小时后会发生什么。你可能会遇到一些TCP/IP堆栈时间限制或一些Chrome内存限制。如果是TCP,另一个操作系统上的Google Chrome可能不会出现相同的问题。如果是内存,则刷新的到期时间取决于您实际发送到彗星流中的数据量。你能测量一下吗? - ZJR
@ZJR,我准备每两个小时尝试一次,并查看是否在周末运行。如果没有崩溃,我会回复你的。我的彗星代码每秒至少输出一个脚本标记。 - Naftali
@ZJR 目前你的回答似乎起作用了 ^_^,我会在今天晚些时候回来测试。 - Naftali
@ZJR,我19小时后回来尝试使用它,结果在控制台中崩溃了。 - Naftali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接