【问题标题】:Facebook SDK - warnings in console "Received message of type number from http://localhost:8080, expected a string"Facebook SDK - 控制台中的警告“从 http://localhost:8080 接收到类型编号的消息,需要一个字符串”
【发布时间】:2023-03-21 19:41:01
【问题描述】:

我正在使用最新版本的 Facebook JS SDK - http://connect.facebook.net/en_US/sdk.js,但它会在我的开发控制台中填充大量警告:Received message of type number from http://localhost:8080, expected a string。我不明白是什么原因..

这就是我在 html 页面上初始化 sdk 的方式:

<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
    FB.init({
        appId: 1234567890, // my app id here
        xfbml: true,
        version: 'v2.3'
    });
};

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

【问题讨论】:

  • 首先,这些只是警告,所以这不应该是让您的应用无法运行的事情。其次,它们可能(!)只是由您的本地测试设置引起的——使用与默认 80 不同的端口在处理 JS SDK 时可能会产生一些副作用。
  • 我在 Chrome 中也看到过这种情况,当浏览器扩展使用消息传递与其注入的内容脚本进行通信时。如前所述,这些只是警告。在生产环境中再次检查。

标签: javascript facebook facebook-javascript-sdk


【解决方案1】:

看到这个: Facebook iOS Mobile Web JS SDK Error

你在使用 Babel 吗? 如果是这样我有同样的问题: https://github.com/babel/babel/issues/2198

【讨论】:

    猜你喜欢
    • 2022-12-12
    • 1970-01-01
    • 2020-01-20
    • 2014-08-30
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    相关资源
    最近更新 更多