これは私の最初の投稿なので、あなたの助けに感謝します:)
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 は正しく機能しますが、ページ遷移を残しました。