1

これは私の最初の投稿なので、あなたの助けに感謝します:)

jquery モバイル機能を備えたエリアを追加した asp.net mvc 3 Web アプリケーションがあります。ライブラリFacebook、Facebook.Web、およびFacebook.Web.Mvc ver 5.4.1.0を使用してFacebookログインを追加します。Web サイトのスコープに問題はないので、Facebook にログオンしてからナビゲートすると、次のようになります。

http://localhost:2508/Home

FacebookWebContext.Current.IsAuthenticated() //return true

ただし、jquery モバイル アプリでエリアをナビゲートする場合:

http://localhost:2508/MobileApp/Home

FacebookWebContext.Current.IsAuthenticated() //return false

私はすべてが私を理解したことを願っています

助言がありますか?

これは私の _Layout ページの html です:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>@ViewBag.Title</title>

        <link rel="stylesheet" href="@Url.Content("~/Content/MobileApp.min.css")" />
        <link rel="stylesheet" href="@Url.Content("~/Content/jquery.mobile.structure-1.3.2.min.css")" />

        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script src="@Url.Content("~/Scripts/CustomMobileInit.js")"></script>
        <script src="@Url.Content("~/Scripts/jquery.mobile-1.3.2.min.js")"></script>

    </head>
    <body>

        <div id="fb-root"></div>
        <script type="text/javascript">
            window.fbAsyncInit = function () {
                FB.init({ appId: '@Facebook.FacebookApplication.Current.AppId', channelURL: '@Request.Url.Scheme://@Request.Url.Authority@Url.Content("~/fbchannel.ashx")', cookie: true, xfbml: true, oauth: true });
                FB.Event.subscribe('auth.login', function (response) { window.location.reload(); });
                FB.Event.subscribe('auth.logout', function (response) { window.location.reload(); });
            };

            (function(d){
                var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
                js = d.createElement('script'); js.id = id; js.async = true;
                js.src = "//connect.facebook.net/en_US/all.js";
                d.getElementsByTagName('head')[0].appendChild(js);
            }(document));
        </script>

        <div data-role="page" id="MainPage" data-theme="a">

            <div data-role="header" data-position="fixed">
                <h3>
                    My Mobile App
                </h3>
            </div>

            <div data-role="content">

                @RenderBody()

            </div>

            <div data-role="footer" data-position="fixed">
                @{ dynamic me = Helpers.Utilities.FBGet("/me"); }
                @if (me != null)
                {
                    <h3>
                        @me.name
                    </h3>
                }
                else
                {
                    <h3>
                        Utente sconosciuto
                    </h3>
                }
            </div>

        </div>
    </body>
</html>

この _Layout を実装するページがいくつかあります。ajax を有効にすると、この問題が発生することがわかりました。無効にすると、oAuth は正しく機能しますが、ページ遷移を残しました。

4

0 に答える 0