2

我有一個使用jQuery Mobile構建的移動網站。我經常在我的iPhone上以全屏/移動網絡應用程序模式運行它(我已將Web應用程序添加到我的iPhone主屏幕)。如何在使用Facebook Connect登錄後返回iPhone Web應用程序?

在其中一個頁面上,用戶需要使用Facebook Connect JavaScript API登錄Facebook。如果用戶尚未登錄,則通過單擊登錄按鈕完成。此按鈕的事件處理程序是這樣的:

("#fbLogin").click(function() { 
     FB.login(handleStatusChange(response), 
     { scope: "publish_stream", 
     connect_display: "touch" }); 
}); 

在我已經插入了一些換行以提高可讀性上面的代碼,但這些值是一樣的例子。回調函數(handleStatusChange)負責處理來自登錄請求的響應。

當我點擊這個時,Facebook登錄頁面在我的web應用程序窗口中打開。如果我還沒有接受Facebook應用程序,我也必須授予它權限。所有這些似乎工作正常。但是當我給予權限/登錄後,我留在一個完全空白的屏幕上。

我也曾嘗試另一種方法來登錄,通過把這個登錄按鈕事件處理中:

window.location = "https://www.facebook.com/login.php 
?api_key=MY_API_KEY 
&cancel_url=http%3A%2F%2Fwww.mywebsiteurl.com%3A8081 
&fbconnect=1 
&next=http%3A%2F%2Fwww.mywebsiteurl.com%3A8081 
&return_session=1 
&session_version=3 
&v=1.0 
&req_perms=publish_stream 
&connect_display=touch"; 

同樣,換行已插入了更好的可讀性。當使用它只是一個長的字符串。

cancel_url下一個參數使用的URL是我與Facebook應用程序註冊的一個。如果我嘗試使用其他網址(例如http://www.google.com),則會出現錯誤,因此這似乎是正確的。正如你所看到的,我在我的開發服務器上使用了不同的端口(端口8081)。這可能是一個問題嗎?

結果與上例相似。我得到了登錄/權限頁面,但在完成所有操作後,我留下了一個空白屏幕。我在reading this post on the old Facebook Developer forum之後試過這個。

另一方面,如果我嘗試在Safari中運行此應用程序(而不是整個頁面的iPhone Web應用程序),登錄的效果很好。

還有什麼我可以嘗試嗎?有沒有人在iPhone上以全屏/網絡應用程序模式運行JavaScript API Connect登錄工作?

在此先感謝!

+0

如果您嘗試以全屏/ Web應用程序模式(將其添加到主屏幕)運行Facebook自己的移動網站演示網站(http://www.facebookmobileweb.com/hackbook/)看到同樣的問題。 – tkahn 2011-12-22 15:24:29

+0

今天,我收到了Facebook的消息,他們確認這是一個錯誤,並且已將其分配給開發團隊。如果任何人有一個可行的解決方法,我全都耳熟能詳。否則,我們只能等待,直到我們從Facebook開發團隊獲得更多信息。 – tkahn 2011-12-23 17:25:39

+0

特卡恩的bug在這裏報道https://developers.facebook.com/bugs/317323871621290 – 2011-12-27 11:00:10

回答

1

不知道這是否可以幫助你,但我發現,添加了iOS Safari瀏覽器鏈接修復,也讓Facebook登錄到我的全屏的Web應用程序的工作,而無需打開了我的頁面「常規」野生動物園:

// Make links work in iOS fullscreen web app 
function disableSafariLinks() { 
    $("a").click(function (event) { 
     event.preventDefault(); 
     window.location = $(this).attr("href"); 
    }); 
} 

另請參見iPhone Safari Web App opens links in new window

+0

這一個不適合我:( – 2016-11-22 08:22:22

相關問題