Angularjs Facebook登录:无法读取属性'appendChild'为null

Angularjs Facebook Login: Cannot read property 'appendChild' of null

本文关键字:appendChild null 属性 读取 登录 Facebook Angularjs      更新时间:2023-09-26

我正在使用angular facebook模块为我的应用程序添加facebook登录功能。

一般来说,我在加载页面时会出现以下错误:

The "fb-root" div has not been created, auto-creating Cannot read property 'appendChild' of null

当我收到这个错误时,facebook登录弹出窗口为空/空白或无法登录。

我的角度模块依赖关系如下:

angular.module('myApp', ['ngResource', 'ngRoute', 'facebook', 'restangular', 'LocalStorageModule'])

我的index.html:

<html>
  <head>
    ..
    ..
     <script src="index.js"></script>
    <script src="assets/js/default.js"></script>
</head>
<body ng-view>
</body>
</html>

由于<body>中的ng-view标记而出现问题ngRoute组织body本身的内容,但facebookjs-sdk试图控制body下的"fb-root"div。

解决方案是将ng视图移动到body下的内部div,并创建一个fb根div(可选):

<html>
  <head>
     <script src="index.js"></script>
    <script src="assets/js/default.js"></script>
</head>
  <body>
  <div id="fb-root"></div>
  <div ng-view>
  </div>
</body>
</html>