我正在开发(使用Java)P2P应用程序。其中一项功能包括聊天服务。当用户向所有应用程序用户发送消息时,每个用户都会收到消息并更新其聊天HTML页面。
如何从我的Java代码中访问此页面的DOM并进行更改,而无需刷新页面以查看新消息?
Java中是否有任何对象可以让我获得此访问权限?例如,我可以调用插入新消息的JavaScript函数吗?
答案 0 :(得分:2)
如果来自Java,那么你的意思是applet: 您可以在HTML页面中定义一些javascript函数以返回/修改您想要的内容,然后从applet调用javascripts。看at here。
如果Java是指Web服务器,那么你必须使用一些AJAX解决方案,你可以查看JQuery
答案 1 :(得分:0)
你真正想要的是一项名为Comet的技术。 Comet是Reverse Ajax。这是一种使用长期HTTP连接来保持从客户端浏览器到服务器的连接的技术,以便服务器可以将更新推送回客户端浏览器。
基本流程是服务器将命令推回到响应中的浏览器,JavaScript通过回调函数解析响应,然后JavaScript更新DOM,所有这些都无需重新加载页面。
您可以在CometD Website上了解有关Comet的更多信息,如果您正在Google App Engine上进行开发,则此blog post on the ChannelAPI会有所帮助。