4

twitter や facebook などのサービスには、次のワークフローがあります。

  1. ユーザーが「投稿」ボタンをクリックします。
  2. サーバーで認証URLを取得します
  3. クライアント認証URLに送信します
  4. クライアントは、標準の JavaScript ポップアップ ウィンドウで認証 URL を開きます
  5. クライアントが認証し、コールバック URL によって返されます
  6. コールバック URL で、ソーシャル サービスと対話します。

携帯電話でのステップ 4 には大きな問題があります。

標準の JavaScript ポップアップがモバイルで機能しない。外部認証 URL に使用できる代替手段は何ですか?

UPDの一時的な解決策は、認証リンクをアンカーとして生成し、それらをドキュメントに配置することです。問題は解決しますが、より良い UX が必要です。

4

1 に答える 1

4

私はこのモバイル サイトにjquery モバイル ポップアップを使用していますが、デスクトップ ブラウザも完璧に見えます。これらのようなコールバックを使用していただければ幸いです(まあ、私はこのようなものを使用します)

var jsonp = document.createElement("script");
        jsonp.type = "text/javascript";
        jsonp.src = "http://foo.com/api/ad?foo_var=4345&callback=displayinfo";
        document.getElementsByTagName("body")[0].appendChild(jsonp);

コールバック関数では、次のようなポップアップを使用できます

function displayinfo(data) {    
$("#somepopup").html('<div data-role="popup">
                        '+data+'
                    <div id="ok" data-inline=true data-role=button>
                        <a class="ui-link-inherit" href="">Ok</a>
                    </div>
                    <div id="cancel" data-inline=true data-role=button>
                        <a class="ui-link-inherit" href="">Cancel</a>
                    </div>
                    </div>');

                $('#ok').button();
                $('#cancel').button();

                $("#somepopup").popup();
}

ドキュメントに ID somepopup の div が必要です。jquery モバイルを実装すると、これはすべて正常に機能します。これが役立つことを願っています。

于 2012-12-04T08:02:16.570 に答える