1

モバイルデバイス向けのウェブサイトを構築しています。ほとんどの UI/UX に JQuery モバイルを使用しています。

現在、stropheJS を統合して、モバイル デバイスで Web サイトを適切に実行できるようにするのに苦労しています。

$(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 が CONNECTED でも DISCONNECTED でもないことを示す「何も起こらない」という警告メッセージが常に表示されます。

なぜこれが起こっているのか誰にも分かりますか?モバイル用のfirebugのようなアプリがあればいいのに。

4

1 に答える 1

1

私は自分の質問に答える必要があると思います。

私の xmpp (openfire) の実装は、flxhr に大きく依存しています (CORS またはクロス ドメイン リクエストをナビゲートする方法として)。flxhr が行うことは、Flash オブジェクトを DOM ドキュメントに静かに挿入することです。つまり、Flash プラグインがインストールされていないデバイスはこれを処理できません。

ほとんどの人が認識しているように、ほとんどのモバイル デバイスはもはやフラッシュを搭載していないか、サポートしていません。したがって、flxhr の使用は実行可能なオプションではありません。

私が欲しいものを正確に提供するこのプラグインOpenFire Websocketに出くわしました。現時点では、私はまだこのことに頭を悩ませています。

お使いのバージョンの OpenFire にこのプラグインがあるかどうかをテストする 1 つの方法は、ブラウザで

[your-domain-dot-whatever]:7070/ws (デフォルトではサフィックスは「ws」ですが、openfire コントロール パネルにログインして websocket タブに移動することで変更できます。

残念ながら、これを実装する方法に関するドキュメントや例はほとんどありません。したがって、誰かがこれに関する優れたリファレンスを持っている場合は、共有してください。

乾杯

于 2013-07-17T02:35:45.233 に答える