Angularjs Facebook 登录:无法读取 属性 'appendChild' 的 null
Angularjs Facebook Login: Cannot read property 'appendChild' of null
我正在使用 angular-facebook 模块为我的应用程序添加 Facebook 登录功能。
加载页面时通常会出现以下错误:
The "fb-root" div has not been created, auto-creating
Cannot read property 'appendChild' of null
当我收到此错误时,Facebook 登录弹出窗口出现 empty/blank 或无法登录。
我的 angular 模块依赖如下:
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>
出现问题是因为 ng-view
标签在 <body>
ngRoute 组织 body 本身的内容,但 facebook js sdk 试图控制 body.'fb-root' div 下的内容。
解决方案是将 ng-view 移动到 body 下的内部 div 并创建一个 fb-root 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>
我正在使用 angular-facebook 模块为我的应用程序添加 Facebook 登录功能。
加载页面时通常会出现以下错误:
The "fb-root" div has not been created, auto-creating
Cannot read property 'appendChild' of null
当我收到此错误时,Facebook 登录弹出窗口出现 empty/blank 或无法登录。
我的 angular 模块依赖如下:
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>
出现问题是因为 ng-view
标签在 <body>
ngRoute 组织 body 本身的内容,但 facebook js sdk 试图控制 body.'fb-root' div 下的内容。
解决方案是将 ng-view 移动到 body 下的内部 div 并创建一个 fb-root 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>