0

みんな、

Facebook 統合のために、ブラウザー ウィンドウを開き、ログイン URL を (すべてのアクセス許可要求などと共に) 渡し、場所がlogin_success.html#access_token=[Token]

ただし、一部のデバイスでは正しいトークンを取得し、一部のデバイスでは/login_success.html#\_=\_ response.

注: これはデバイスによって異なり、まったく安定していません。

それが起こる理由はありますか?iOS 5 と iOS 6 (5.1.1 および 6.1.2、6.1.3) の両方に複数のデバイスがあり、一部は正常に動作し、一部はこの問題を抱えています。アプリの削除などを試みましたが (デバイスのリセットは試していません)、一部のデバイスでは問題が発生し、他のデバイスでは問題が発生していません。

4

1 に答える 1

1

Facebookを使用するために、私はこれが好きです:

function facebookLogin() {
ref = window.open('https://www.facebook.com/dialog/oauth?client_id=YOURID&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=token', '_blank');
ref.addEventListener('loadstart', function(event){ manageLoadstart(event)});}

function manageLoadstart(event) {
if (event.url.indexOf('https://www.facebook.com/connect/login_success.html#') !== -1) {
    var charIndex = event.url.indexOf('&');
    var firstExtraction = event.url.substring(charIndex);
    var newUrl = event.url.replace(firstExtraction, '');
    var startUrl = newUrl.substr(0, 65);
    var accessToken = newUrl.replace(startUrl, '');
    saveFacebookToken(accessToken);
    ref.close();
}}

これを phonegap 2.6.0 で使用します。loadstop イベントが機能しません。したがって、manageloadstart で 3 回実行され、毎回 URL がチェックされます。

于 2013-04-23T17:04:47.020 に答える