Facebook SDK не загружается ... all.js GET не удается - PullRequest
9 голосов
/ 24 марта 2012

Я использую тот же код, что и в здесь

<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 сообщает мне, что не удалось загрузить скрипт (сбой GET) с двумя ошибками, помеченными (анонимная функция)

Строки, на которые она указывает в качестве ошибок:

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

Может кто-нибудь помочь мне выяснить, что не так с этими строками?

Ответы [ 5 ]

12 голосов
/ 31 января 2013

Я использовал Ghostery в Chrome и не заметил, что он заблокировал «Facebook Connect».Могу поспорить, у вас есть похожая проблема.Просто случилось со мной.

6 голосов
/ 24 марта 2012
  1. Убедитесь, что вы запускаете этот код в контексте веб-сервера (URL вашего браузера начинается с протокола http: или https:), а не из локального файла (не следует начинать с файла:).

  2. Убедитесь, что вы вставили этот фрагмент в <body>, а не <head>.

5 голосов
/ 24 января 2014

Avast Online Security - расширение / надстройка браузера, в зависимости от используемой вами версии браузера, только что выпустило новую версию (2014), которая блокирует запуск социальных сценариев ... в основном они нацелены на сценарии google +, facebook, twitter CDN и заблокировал их ... и включил по умолчанию ... Самое смешное, что в опциях сказано, что люди не отслеживают вас, но это полностью игнорирует скрипт Google Analytics. LOL avast ... хорошая попытка ...

3 голосов
/ 24 марта 2012

Facebook, безусловно, изменил этот пример кода.Я изначально думал, что это потому, что js.src начал с //, но JS SDK может автоматически добавлять http: или https:

Мой код выглядит примерно так:

 <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>

обратите внимание, каку меня есть document.location.protocol перед URL.

Попробуйте это и посмотрите, поможет ли это.Мой код, очевидно, более старая, но все еще рабочая версия.

2 голосов
/ 15 ноября 2013

Проверьте наличие любого антивирусного плагина / расширения. У меня есть Avast, который имеет плагин / расширение для браузера. Я изменил настройки социальных сетей, и у меня это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...