Phonegap-Facebook-плагин на WebApp, ошибка JS
-
26-12-2019 - |
Вопрос
Я строю ионное мобильное приложение, и я использую 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>
.
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 у меня есть линейка кода, которая получает ошибку «
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>
.
Надеюсь, это поможет!