2012-03-23 22 views
9

Używam tego samego kodu przewidzianego w konsoli hereFacebook SDK nie ładuje ... all.js GET braku

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    console.log('got here'); 
    FB.init({ 
    appId  : '197112467099018', // App ID 
    channelUrl : '//WWW.MYDOMAIN.COM/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 
    }); 

    // Additional initialization code here 

    }; 

    // Load the SDK Asynchronously 
    (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)); 
</script> 

Chrome mówi mi skrypt udało się załadować (GET nie powiodło się) z 2 błędy, które są oznakowane (funkcja anonimowa)

linie wskazuje jako błędy są:

ref.parentNode.insertBefore(js, ref); 
    }(document)); 

Czy ktoś może mi pomóc dowiedzieć się, co jest nie tak z tymi liniami?

Odpowiedz

12

Używam ghostery w chrome i nie zauważyłem, że zablokował "facebook connect". Założę się, że masz podobny problem. Po prostu mi się przydarzyło.

+7

Dla mnie to był AdBlock Plus – Narayana

+0

Zatrzymałem prywatne przeglądanie w kaspersky internet security rozwiązałem mój problem –

3

Facebook z pewnością zmienił ten przykładowy kod. I orignally myślał, że to dlatego, js.src rozpoczął // ale JS SDK mogą być automatycznie dołączanie http: lub https:

Mój kod wychodzi coś takiego:

<script type="text/javascript"> 
    var fbAppId = 'xxxxxxxxxx' 

    window.fbAsyncInit = function() { 
     FB.init({ appId: fbAppId, status: true, cookie: true, 
      xfbml: true 
     }); 
    }; 
    (function() { 
     var e = document.createElement('script'); 
     e.type = 'text/javascript'; 
     e.src = document.location.protocol + 
     '//connect.facebook.net/en_US/all.js'; 
     e.async = true; 
     document.getElementById('fb-root').appendChild(e); 
    }()); 
</script> 

uprzedzenia jak kopalnia dokument. location.protocol przed URL.

Wypróbuj i zobacz, czy to pomaga. Mój kod jest oczywiście starszą, ale wciąż działającą wersją.

+1

to powinna być zaakceptowana odpowiedź. Naprawione! Dzięki! – ProblemsOfSumit

+0

Właśnie miałem ten problem ponownie. Tym razem był to AdBlock. Naprawdę denerwujące. – ProblemsOfSumit

6
  1. Upewnij się, że działa ten kod w kontekście serwera WWW (adres URL w przeglądarce zaczyna się od http: lub https: protokół), a nie z pliku lokalnego (nie powinno się rozpocząć z pliku :) .

  2. Upewnij się, że wstawiłeś ten fragment do <body>, a nie <head>.

2

Sprawdź, czy nie ma wtyczki/rozszerzenia antywirusowego. Mam Avast z wtyczką/rozszerzeniem przeglądarki. Zmieniłem ustawienia sieci społecznościowych i zadziałało to dla mnie.

5

Avast Online Security Rozszerzenie przeglądarki/Addon w zależności od wersji przeglądarki, z której korzystasz, właśnie wydała nową wersję (2014), która blokuje uruchamianie skryptów społecznościowych ... w zasadzie zostały one skierowane na skrypty CDN google +, facebook, twitter i zablokował je ... i domyślnie WŁĄCZONE ... Najśmieszniejsze jest to, że opcje uniemożliwiają śledzenie osób, ale całkowicie ignorują skrypt google analytics. LOL avast ... nice try ...

Powiązane problemy