Facebook arkadaşını gösterecek bir uygulama geliştiriyorum. İlk olarak, kullanıcı oturum açma düğmesine tıklamanız gerektiğinde, giriş kimliği ve şifresi doldurulduktan sonra basit bir açılır ekran görünecektir ve arkadaş listesini gösterecektir.
Her şey yolunda ve Firefox, Chrome, IE'de çalışıyor ancak Safari ve iPhone'da açılır.
Birisi bana channelUrl
içinde alan adı ve kanal adı eklememi öneriyor. Bir channel.html
oluşturun ve referans ekleyin ama bana yardımcı olmadı.
Ben çok araştırıyorum ama yardımcı olmadı.Facebook Oturum açmadı Safari/iPhone'da açılma
İşte kodum.
Custom.js
function getUser()
{
FB.init({
appId : '289403314507596', // App ID
channelUrl : 'http://bc2-236-161.compute-1.amazonaws.com/html/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
//check current user login status
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
window.location="facebook_friend.html"
loadFriends();
} else {
//user is not connected.
FB.login(function(response) {
if (response.authResponse) {
window.location="facebook_friend.html"
loadFriends();
} else {
alert('User cancelled login or did not fully authorize.');
}
});
}
});
}
//start from here
$(document).ready(function(){
$('.load-button').click(function(){
getUser();
});
});
channel.html
<script src="//connect.facebook.net/en_US/all.js"></script>// i add this line in channel.html
benim tam israf sonra ... Bu dosyadaki
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<img src="includes/fb-btn1.png" class="load-button" style="
width: 290px;
Height: 40px;
margin-top: 5px;"/>
Kodunuzdaki temel sorun, 'FB.login'otomatik olarak adlandırmanızdır; bu durumda pop-up'ın mevcut tarayıcı tarafından engellenmesi büyük olasılıktır. Genel öneri, bu yöntemi yalnızca açık kullanıcı etkileşimi, örn. girişi tetiklemek için bir bağlantıya/düğmesine tıklayarak. Bu bilgi için – CBroe
teşekkürler. Bunu deneyeceğim. –
Safari çok hassas görünüyor. Bir tıklama işleyicisi içinde yukarıdaki kodda FB.getLoginStatus çağırırsanız aynı şey olur. Şu anda Safari Sürümü 6.0.5'de (7536.30.1) bunu yaşıyor. Bunun bir fonksiyonun içinde FB.login çağrıldığını, çünkü bir kullanıcı tıklaması olayının tetiklediği/çağrılsa bile ... – Hans