首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook社交软件-在javascript中不会在Chrome或FF中加载

Facebook社交软件-在javascript中不会在Chrome或FF中加载
EN

Stack Overflow用户
提问于 2017-03-12 01:49:15
回答 3查看 793关注 0票数 5

更新1

我从角速起动开始,只添加了facebook的javascript,但是它不会加载:

代码语言:javascript
复制
<script type="text/javascript" src="//connect.facebook.net/en_US/sdk.js"></script>

我使用Facebook JavaScript API在angular 2应用程序中创建登录,但遇到以下情况:

TypeError: FB.login不是一个函数

index.html (为简洁而省略)

代码语言:javascript
复制
<script type="text/javascript" src="//connect.facebook.net/en_US/sdk.js"></script>

<script>
    System.import('app').catch(function (err) {console.error(err);});
</script>

我注意到脚本似乎没有正确加载,下面是来自Chrome devtools

角2分量

代码语言:javascript
复制
declare const FB: any;

@Component({
  // usual suspects here
})
export class LoginComponent implements OnInit {
 constructor() {
  FB.init({
    appId: 'my-app-id',
    cookie: false,
    xfbml: true,
    version: 'v2.5'
  });    
 }

 ngOnInit(): void {    
    FB.getLoginStatus(response => {
      ....
    });
 }

 onSignin(socialMedia: string): void {
   FB.login(); // The errant line
 }
}

我应该做以下事情吗?如本文所述

代码语言:javascript
复制
(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.com/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-16 01:08:02

为了别人的利益.

它是鬼怪插件,它(除其他外)阻塞了“社会信号”。

票数 4
EN

Stack Overflow用户

发布于 2017-03-15 11:17:13

我认为在主html file.Also中插入fb的脚本库,确保fb开发人员提供的脚本被插入到解决problem.follow (链接https://developers.facebook.com/docs/javascript/quickstart )的代码中。

票数 0
EN

Stack Overflow用户

发布于 2017-03-17 11:24:15

不要直接运行FB.init,您应该这样做:

代码语言:javascript
复制
declare var window:any;

然后在构造函数或ngInit方法中使用FB异步方法:

代码语言:javascript
复制
    window.fbAsyncInit = function() {
            FB.init({
              appId: appID,
              xfbml: true,
              version: 'v2.5'
            });
    };

    (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.com/en_US/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

当facebook加载时,fbAsyncInit自动获得触发器。

参见Facebook快速启动的更多信息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42742819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档