3

我们正在开发一个与&一起使用的HTML5聊天客户端。后面的 js 文件在运行时会在 DOM 中注入一个 swf 文件。它通过这个闪存试图克服 JavaScript 的同源策略问题。strophe.jsflxhr.jsstrophe.flxhr.js

我们还打算通过触摸设备、iOS 和 Android 以及台式机访问这个聊天客户端。很明显,现代设备没有可用的闪存,如果桌面浏览器禁用了闪存播放器,那么这种方法将不起作用。

任何人都可以建议一种替代方法来开发纯 JavaScript Jabber 客户端,或者是否有其他方法可以使用 strophe.js 或其变体来实现这一目标。任何帮助将不胜感激。

4

4 回答 4

1

我在大多数安装中使用 Apache 和 mod_proxy 来克服 XHR 限制。Candy 开发人员在这里有很好的配置示例:http: //candy-chat.github.com/candy/

如果您的站点上没有运行 Apache,大多数其他网络服务器也有代理模块。

于 2013-03-29T16:05:48.913 回答
1

我不是 jabber 专家,但是几分钟的谷歌搜索让我找到了 XMPP 客户列表。我建议使用或从其中之一开始:http: //xmpp.org/xmpp-software/clients/

注意:列表中有几个基于Web的客户端,例如:http ://candy-chat.github.com/candy/

于 2013-03-29T14:16:56.363 回答
0

flXHR 和其他用于跨浏览器 ajax 的 flash 产品可以正常工作,并且仍然可以为不受您控制的 3rd 方服务器发挥作用。

但是,在这种情况下,服务器听起来像是在您的控制之下,因此您现在可以采用“跨域资源共享”(CORS)方法。

我不会尝试描述 CORS,但这里有一个链接:

https://www.bionicspirit.com/blog/2011/03/24/cross-domain-requests.html

网上有很多关于 CORS 的内容。上面的文章是一个特别好的起点,因为它专门讨论了 CORS 作为 flXHR 的替代方案。

于 2013-03-29T14:22:11.723 回答
0

您对 XMPP 以外的选项持开放态度吗?

我们一直在自己玩 www.pubnub.com 以获得类似的东西。它不是免费的,但会给你一个可以在桌面和移动设备上运行的纯 JavaScript。

http://blog.pubnub.com/build-real-time-chat-10-lines-code/可能特别感兴趣,或者http://blog.pubnub.com/html5-websockets-beautiful-real-time -chat-on-mobile-using-pubnubs-channel-presence/再举一个例子。

于 2013-03-29T14:13:03.670 回答