首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何避免Facebook xfbml.customerchat.js与sdk.js的冲突?

如何避免Facebook xfbml.customerchat.js与sdk.js的冲突?
EN

Stack Overflow用户
提问于 2019-08-06 13:23:17
回答 1查看 1.6K关注 0票数 4

我的网页上有两个应用程序

  1. 客户聊天插件(取自Facebook扇页)
  2. Facebook登录应用程序

第一个负荷

  • '//connect.facebook.net/en_EN/sdk/xfbml.customerchat.js';= js.src

第二负荷

  • "//connect.facebook.net/en_EN/all.js#xfbml=1&version=v3.3&appId=MYFACEBOOKID";= js.src

这两个应用程序不会一起工作-如果一个工作,而另一个不工作。

因此,如果Faecbook登录SDK将作为第一个加载,那么客户聊天抛出的控制台通知:

CustomerChat插件不再是主要的Facebook的一部分。要继续使用它,请使用正确的sdk.js,意思是用sdk/xfbml.customerchat.js替换sdk.js。有关详细信息,请参阅https://developers.facebook.com/docs/messenger-platform/discovery/customer-chat-plugin/sdk

否则,如果只加载客户聊天,那么

FB.login()在FB.init()之前调用。

发生..。

想法?

EN

回答 1

Stack Overflow用户

发布于 2019-08-06 13:44:39

这段代码来自客户聊天插件(由FB在扇页设置中生成)。

我在Facebook登录插件中添加了FB.init的一部分,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
<script>
          window.fbAsyncInit = function() {
            FB.init({
              xfbml            : true,
              version          : 'v3.3'
            });
          };
// added part START
          window.fbAsyncInit = function() {
            FB.init({
              appId      : 'MYAPPID', // Facebook login
              cookie     : true,
              xfbml      : true,
              version    : 'v3.3'
            });
          };
// added part END
          (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/lt_LT/sdk/xfbml.customerchat.js';
          fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));
</script>

这两个插件都开始工作了。

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

https://stackoverflow.com/questions/57377108

复制
相关文章

相似问题

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