【问题标题】:Pure Javascript based jabber client [closed]基于纯Javascript的jabber客户端[关闭]
【发布时间】:2013-03-20 05:59:59
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript xmpp strophe


    【解决方案1】:

    您对 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/ 是另一个例子。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

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

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

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

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-04-09
            • 2011-01-15
            • 2010-11-08
            • 2010-12-26
            • 1970-01-01
            • 2011-03-15
            • 1970-01-01
            • 2010-11-16
            相关资源
            最近更新 更多