javascript - MessengerExtensions.requestCloseBrowser 似乎不起作用

标签 javascript ruby-on-rails facebook webview

我在我的 Facebook Messenger 聊天机器人中使用 webview 进行支付,MessengerExtensions.requestCloseBrowser 应该关闭 webview 窗口并将用户返回到聊天流程 - 但它不起作用。文档说它有效,我试着完全按照他们说的去做;显然我错过了什么。有人看到我在这里遗漏了什么吗?

我在 rails 4.2 应用程序中托管 webview,因此 js 位于单独的文件中。我正在使用 jquery 来处理事件。这是代码:

View 中应该触发操作的按钮(使用 slim): button type="button"class="chat-button"id="closeButton"完成!

.js 文件:

$(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/messenger.Extensions.js";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'Messenger'));

$(function() {
  $("#closeButton").click(function() {
    alert("hit me");
    MessengerExtensions.requestCloseBrowser(
      function success() {},
      function error(err) {
        alert(err)
      }
    );
    return false;
  });
});

window.extAsyncInit = function() {
    alert("js sdk finished loading");
};

请注意,两种警报都会触发,一种是在加载 SDK 时触发,另一种是在单击按钮时触发。但是 webview 并没有像宣传的那样关闭。顺便说一句 - 返回的错误是 2071010。我错过了什么?

最佳答案

messenger_extensions 需要设置为 true。

"attachment": {
    "type": "template",
    "payload": {
        "template_type": "button",
        "text": "Check this out!",
        "buttons": [
            {
                "type": "web_url",
                "url": "https://yourpage.com",
                "title": "Some Title",
                "webview_height_ratio": "compact",
                "messenger_extensions": true
            }
        ]
    }
}

关于javascript - MessengerExtensions.requestCloseBrowser 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42168557/

相关文章:

facebook - 如何从电子邮件中获取 Facebook 个人资料图片?

javascript - java脚本填充一个数组,使其匹配以下结构

javascript - 是否可以添加一个链接来下载只能通过在 Facebook 上共享来下载的文件?

facebook - 'Facebook Activity Feed' 插件的任何替代方案,因为它已被弃用?

ruby-on-rails - Amazon S3 直接上传无法识别文件的内容类型

ruby-on-rails - rails : Generate QR Code in Prawn PDF

ruby-on-rails - Rails 4 中的 JS 和 CSS

javascript - HTML:当条件不再成立时,如何使条件消息消失?

javascript - 使用正则表达式链接单词

javascript - 如何在 AngularJS 组件中绑定(bind)多个单词属性