0
我是Facebook應用開發新手。以下是我的HTML和腳本代碼來爲Facebook用戶檢索訪問令牌。Facebook登錄認證iFrame在Safari瀏覽器中未正確加載
我有一個複選框,並選擇複選框,我需要加載Facebook登錄身份驗證表單。
<html xmlns:fb="https://www.facebook.com/2008/fbml">
<body>
<table>
<tr>
<td>
<input type="checkbox" value="Facebook" name="facebook" id="facebook" onclick="checkFacebookLoginCredentials(this,'fb')"/>
<div id="fb-root"></div>
</td>
</tr>
</table>
</body>
<script type="text/javascript">
var userFBAccessToken="";
function checkFacebookLoginCredentials(field, accountType)
{
loadFBAuthenticationWindow(); //Function to load the facebook login authentication window
}
function loadFBAuthenticationWindow()
{
window.fbAsyncInit = function()
{
FB.init({
appId : 'MY_APP_ID', // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
oauth : true
});
FB.login(function(response)
{
if (response.authResponse)
{
console.log('Welcome! Fetching your Facebook information....');
userFBAccessToken = response.authResponse.accessToken;
console.log('userFBAccessToken: ' + userFBAccessToken);
FB.api('/me', function(response)
{
console.log('Good to see you, ' + response.name + '.');
FB.logout(function(response) {
console.log('Logged out.');
});
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
}, {scope: 'user_activities,user_notes,user_photos,user_videos,user_status,offline_access'});
};
// Load the SDK Asynchronously
(function() {
var e = document.createElement('script'); e.async = true;
e.src = document.location.protocol
+ '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
}());
}
</script>
</html>
當我嘗試加載上面的HTML,我可以看到的iFrame(Facebook登錄認證形式)在Chrome和Firefox瀏覽器加載正確。
但是當我嘗試在SAFARI中執行時,iFrame未加載。
任何人都可以說,我已經錯過了上面的代碼?任何建議,請..
號。在調查中,我覺得這個問題是由於我的腳本的一些錯誤的位置。沒有面臨這個問題。所以任何人都可以在上面的腳本中提示我有什麼錯誤? – user1223367 2012-02-22 11:00:31
這是一個測試嗎? – DMCS 2012-02-23 14:29:17