我正在使用AJAX编写一个网络聊天程序(一点点)。它在两个用户打开聊天页面时都有效,但我想在一个用户向其他人发送数据时打开一个窗口。
答案 0 :(得分:1)
除非两个用户都有一个共同的网页(你控制)打开,否则这是不可能的。然而,为了提供解决方案,让我们就一些假设达成一致:
输入该消息后,您可以使用AJAX将消息发送到服务器。在这一点上,最好继续将消息保存到数据库中(只需要我的两分钱)。主页必须设置为每隔一段时间使用AJAX轮询任何消息(我建议每30秒左右,具体取决于此应用程序的目的)。如果收到新消息,则会通过打开聊天窗口(window.open(url)
)进行响应,然后开始讨论。
答案 1 :(得分:1)
两位用户都应将您的网页设为打开状态。这是基本要求。 之后,当两个用户在页面上都处于活动状态时,您可以使用AJAX来提供一个servlet,该servlet接收用户名并弹出数据,告诉该页面是否有针对该特定用户的新消息未读。如果有新消息,它应该通过Javascript自动打开一个窗口并将其带到主聊天页面。这在许多实时聊天应用程序中完成,其中用户在站点上移动突然弹出窗口并打开一个窗口进行聊天。
答案 2 :(得分:0)
听起来你需要写一些javascript来收到邮件时打开一个新窗口。你是如何发送消息的?reverse Ajax?
据推测,两个用户都需要打开聊天应用程序网页,以便您可以在某处放置反向的ajax挂钩代码。
答案 3 :(得分:0)
你能不能用一些JS代码打开一个新窗口?
winRef = window.open( URL, name [ , features [, replace ] ] )