我正在建立一个网站,旨在为移动设备。我在大部分UI/UX中都使用了JQuery mobile。
我目前在集成stropheJS方面遇到了困难,这样我就可以在移动设备上正常运行网站。
$(document).bind('connect', function (ev, data) {
//Groupie.connection = new Strophe.Connection('http://chat.local/http-bind');
Groupie.connection.connect(
data.jid, data.password,
function (status) {
alert('Initializing');
if (status === Strophe.Status.CONNECTED) {
$(".chat").hide();
$("#inner_chat").show();
$(document).trigger('connected');
} else if (status === Strophe.Status.DISCONNECTED) {
$(document).trigger('disconnected');
}else{
alert('Nothing Happens...');
}
});
});上面是一个简单的代码片段,显示如果Strophe连接成功,它将显示聊天界面。
当我使用桌面浏览器测试上面的代码时,一切都很顺利。Strophe可以登录到房间,列出所有参与者,最重要的是可以与其他人聊天。
然而,当我在移动设备上使用浏览器时,事情变得混乱起来。我总是收到“什么都没有发生”的警告消息,表明Strophe既没有连接也没有断开连接。
有人知道为什么会这样吗?如果有像firebug这样的手机应用程序就好了。
发布于 2013-07-17 10:35:45
我想我必须回答我自己的问题。
我的xmpp (openfire)实现在很大程度上依赖于flxhr (作为导航CORS或跨域请求的一种方式)。flxhr所做的是静默地将flash对象注入到DOM文档中,这意味着没有安装flash插件的设备将无法处理它。
正如我们大多数人可能知道的那样,大多数移动设备不再具有或不再支持闪存。因此,使用flxhr不是一个可行的选择。
我偶然发现了这个插件OpenFire Websocket,它提供了我想要的东西。目前,我还在考虑这件事。
测试您的OpenFire版本是否有此插件的一种方法是将浏览器指向
your -domain-dot- and :7070/ws(默认情况下后缀是"ws“,但可以通过登录到您的openfire控制面板并转到websocket选项卡来更改。
遗憾的是,关于如何实现这一点的文档或示例很少。因此,如果有人对此有很好的参考,请分享它。
干杯
https://stackoverflow.com/questions/17646723
复制相似问题