Вопрос

Я строю ионное мобильное приложение, и я использую Ta a href="https://github.com/wizcorp/phiteb-facebook-plugin" rel="nofollow"> phonegap-facebook-plugin Чтобы войти в систему с Facebook. Мне удалось установить плагин на Android и iOS, и он работает. Однако, пытаясь использовать его для WebApp, у меня есть Difeulties, делая его работать. Я буду наметить мою настройку, а затем набросать ошибку:

<Сильный> Логин .html

<div id="fb-root"></div>
<div class="event listening button" ng-click="login();">Login with Facebook</div>
.

App.js

angular.module('app', ['ionic', 'app.controllers', 'app.services'])

.config(function($stateProvider, $urlRouterProvider) {

  $stateProvider

    //First page
    .state('login', {
      url: '/login',
      templateUrl: 'templates/login.html',
      controller: 'LoginCtrl'
    });
.

<Сильные> Контроллеры.js

angular.module('app.controllers', [])

.controller('LoginCtrl', function($scope){

    $scope.login = function () {
        if (!window.cordova) {
            var appId = prompt("Enter FB Application ID", "");
            facebookConnectPlugin.browserInit(appId);
        }
        facebookConnectPlugin.login( ["email"], 
            function (res) {                                                
                //if successfull                                            
                if (JSON.stringify(response['authResponse']['accessToken']) != null){
                    alert("True");
                    $location.path('/home').replace();
                }
                else{
                    //redirect back
                }

            },
            function (res) { 
                //if error
                alert(JSON.stringify(response)) 
            }
        );
    }
});
.

в facebookconnectplugin.js у меня есть линейка кода, которая получает ошибку « Uncaught IseError: не удается прочитать свойство« AppendChild »NULL «, в частности LINE 174 » :

document.getElementById('fb-root').appendChild(e);
.

Я знаю, что это должно быть связано с домом, но не может по-видимому, пройти через это.

Любая помощь была бы здоровой, спасибо :)

Это было полезно?

Решение

в index.html, попробуйте поместить все теги скрипта в конце (непосредственно перед тегом закрытия тела).Это должно решить проблему.

Другие советы

Может быть, этот ответ слишком поздно, но для тех, кто имеет такую же проблему. Я сталкиваюсь с этой проблемой в IONIC Framework, добавляя следующее на платформу (iOS, Android, браузер), которые исправляют проблему для меня.

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'your_app_id',
      xfbml      : true,
      version    : 'v2.8'
    });
    FB.AppEvents.logPageView();
  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>
.

Надеюсь, это поможет!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top