我们正在使用HTML5
以及strophe.js
&来开发flxhr.js
聊天客户端。 strophe.flxhr.js
。后来的js文件在运行时在DOM中注入一个swf文件。它通过这个闪存试图克服JavaScript的同源策略问题。
我们还打算通过触摸设备访问此聊天客户端,iOS& Android&桌面也是如此。很明显,现代设备不会有闪光灯和如果桌面浏览器已禁用Flash播放器,则此方法将无效。
任何人都可以建议一种开发纯JavaScript Jabber客户端的替代方法,或者是否有其他方法可以使用strophe.js或其变体实现此目的。任何帮助都会非常感激。
答案 0 :(得分:1)
我不是jabber专家,但几分钟的谷歌搜索让我找到了一份XMPP客户名单。我建议使用或开始使用其中之一:http://xmpp.org/xmpp-software/clients/
注意:列表中有几个基于Web的客户端,例如:http://candy-chat.github.com/candy/
答案 1 :(得分:1)
我在大多数安装中都使用Apache和mod_proxy来克服XHR限制。 Candy开发人员在这里有很好的配置示例:http://candy-chat.github.com/candy/
如果您没有在您的网站上运行Apache,大多数其他网络服务器也有代理模块。
答案 2 :(得分: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/为另一个例子。
答案 3 :(得分:0)
然而,在这种情况下,听起来服务器在您的控制之下,因此您现在可以采用"跨源资源共享" (CORS)方法。
我不会试图描述CORS,但这里有一个链接:
https://www.bionicspirit.com/blog/2011/03/24/cross-domain-requests.html
网上有很多关于CORS的信息。上面的文章是一个特别好的开始,因为它特别讨论了CORS作为flXHR的替代方案。