1

我有一个项目使用“kotlinFrontend”来创建一个用 kotlin 编写的非常好的反应前端。我如何访问 facebook js sdk(通常使用脚本标签完成)

我的 HTML 模板上有这段代码,其中包含生成的捆绑包

<script>
window.fbAsyncInit = function() {
    FB.init({
        appId      : '503127050093992',
        cookie     : true,
        xfbml      : true,
        version    : 'v3.2'
    });
    FB.AppEvents.logPageView();
};

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

在我的 kotlin react 代码中,我将如何访问 creatd FB obj?

4

1 回答 1

0

利用external var FB

类型安全的方式:

  1. 从facebook-js-sdk获取 typescript 定义
  2. 使用ts2kt将其转换为 Kotlin。生成的文件可能有一些错误,但它们通常很容易修复。
  3. 将这些文件添加到您的项目中。你会得到external var FB: facebook.FacebookStatic你可以访问的。

不安全的方式:

  1. 宣布external var FB: dynamic
于 2019-01-14T18:05:34.027 回答