2013-03-27 24 views
17

İlk örneğini Facebook JS SDK belgelerinden çalıştırmaya çalışıyorum. Yeni bir uygulama oluşturdum, "facebookTest.html" adlı bir örnek oluşturdum, örneğin kodun içine yapıştırdım ve yeni uygulamanın App ID'sine takılıyorum. Kod aşağıdaki gibi:Facebook'un örnek kodunu kullanarak kaynak "Kaynak yüklenemedi"

Failed to load resource

yanlış yapıyorum:

<html> 
<head> 
<title>Login with facebook</title> 
<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    // init the FB JS SDK 
    FB.init({ 
     appId  : 'my app ID', // App ID from the App Dashboard 
     status  : true, // check the login status upon init? 
     cookie  : true, // set sessions cookies to allow your server to access the session? 
     xfbml  : true // parse XFBML tags on this page? 
    }); 

    // Additional initialization code such as adding Event Listeners goes here 

    }; 

    // Load the SDK's source Asynchronously 
    // Note that the debug version is being actively developed and might 
    // contain some type checks that are overly strict. 
    // Please report such bugs using the bugs tool. 
    (function(d, debug){ 
    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 = document.location.protocol+"//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js"; 
    ref.parentNode.insertBefore(js, ref); 
    }(document, /*debug*/ false)); 
</script> 

ben aşağıdaki hata mesajı alıyorum JavaScript konsolu, sayfa yüklediğinizde?

DÜZENLEME: önerdi here olarak, "//connect.facebook.net/..." önce document.location.protocol eklediğinizde, ekran boş kalır ve konsol aşağıdakileri gösterir:

GET file://connect.facebook.net/en_US/all.js 

tüm bu kod yapmak gerekiyordu mı? Yoksa hala başarısız mı? Burada yanlış bir kaç şey vardı

+0

sizin AdBlock'u kontrol için çalışıyor! :) – FooBar

cevap

37

: js.src="https://connect.facebook.net/en_US/all.js";

Facebook artık yerel bir dosyadan yapılan JS SDK çağrıları destekler

  • , senaryo vardır
  • için: için js.src atamasını değiştirmek için gereken

    1. http:// veya https:// URI ile bir dosyada çalıştırılmalıdır, this bug report on Facebook uyarınca. Dosyayı bir web sunucusuna yüklemem, tuval URL'sini buna göre değiştirmem ve yeniden test etmem gerekecek.

    +2

    İmlecin açıklaması 2. Bunun nedeni, init kodundaki 'js.src' protokolüdür. Yani yerel bir dosyaya erişiyorsanız. dosya üzerinden fb sdk'ye erişmeye çalışacaktır ve hata –

    +0

    Evet, dosyaya örneğin 'localhost/facebookApp' yerine dosyaya erişirse yerel bir web sunucusunda (örneğin WAMP) test edebileceğimi buldum. : // c: \ wamp \ www FacebookApp \ \ index.html'. – sigil

    +1

    Evet. Bunun nedeni, js.src'nizin "//connect.facebok ...." 'i işaret ediyor olabileceğidir, bu nedenle protokole göre bir bağlantı noktasıdır, bu nedenle, eğer sunucu olmadan yerel olarak ur sayfalarına erişiyorsanız, yani bir 'file: //' kullanarak, yani facebook init, javascript sdk dosyasını, 'file: //connect.facebook.net ....' den yüklemeye çalışır, ki bu gerçekleşmez, yani işe yaramıyor .. Ayrıca, js.src'ye sahip olmak en iyisidir. http: // connect.facebook.net/en_US/all.js' için bile http istekleri işlensin diye .. Neyse .. Bugün bunu öğrendim, yani paylaşmayı düşündüm. –

    5

    Önce bir sunucu üzerinde size html dosyasını barındırmak için gereken URL

    İkinci js.src http veya https eklemek gerekir.

    0

    Git Facebook geliştirici için ve web sitenizin alan ekleyip kimliği almak ve aşağıdaki yapıştırın:

    appId : 'my app ID', // App ID from the App Dashboard 
    
    0

    sadece AdBlock'u devre dışı bırakın bana

    İlgili konular