【问题标题】:Detect if "send to messenger" button is loaded (Facebook Messenger)检测是否加载了“发送到信使”按钮(Facebook Messenger)
【发布时间】:2016-11-28 19:02:09
【问题描述】:

看了半天决定直接问你。 我正在寻找一种方法来检测“发送到信使”按钮是否已加载。我们目前正在测试我们的新 Messenger 机器人,如果有人是测试人员,我们希望可以选择在我们的网站上显示按钮,否则显示链接到表单的“测试我们的 beta”按钮。

除非用户是应用程序的管理员或测试员,否则不会加载按钮。我尝试在javascript中使用修剪和长度来做到这一点。然而,脚本实际上加载了 div 内的内容。

代码看起来是静态的:

<div class="fb-send-to-messenger" 
  messenger_app_id="APP_ID" 
  page_id="PAGE_ID" 
  data-ref="PASS_THROUGH_PARAM" 
  color="blue" 
  size="standard">
</div>  

在隐身模式下,它会加载一个 iframe,里面有一个空的 html 文档。

让我烦恼的是,即使 div 没有加载,它实际上也有 fb-xfbml-state="rendered" 状态。

还有其他方法可以做到这一点吗?我一直在浏览 Facebook 文档,以寻找一种在该脚本之外确定用户是否有活动会话的方法,但没有找到任何东西?

【问题讨论】:

  • 如果你有一个登录用户,你可以检查他们是否在你的应用中有一个角色......

标签: facebook send messenger


【解决方案1】:

这是我在写这篇文章时想出的一个小技巧,可能会对你们中的一些人有所帮助:

$(window).bind('load', function() {
  if ($('.fb-send-to-messenger').find("iframe").height() > 50) {
    alert("button loaded");
  }
});

只需将高度值调整为您选择的按钮的高度。

仍然非常感谢这个问题的其他角度。最好直接来自 Facebook 文档。

保重!

【讨论】:

    猜你喜欢
    • 2018-08-15
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    • 2018-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多