【发布时间】:2017-02-08 20:01:40
【问题描述】:
我正在尝试将 Facebook Messenger Checkbox Plugin 实现到我的 AngularJS 应用程序中。我正在关注本指南https://developers.facebook.com/docs/messenger-platform/plugin-reference/checkbox-plugin。
我设法让它工作。我导航到该页面并显示了我的 Messenger 复选框插件,但是当我导航到另一个页面然后返回到包含 Facebook Checkbox Messenger 插件的此页面时,它不会呈现并且我没有从 Facebook 记录任何内容。
这是我的 FB 初始化过程
$window.fbAsyncInit = function () {
FB.init({
appId: 'MY_FACEBOOK_APP_ID',
xfbml: true,
version: 'v2.8'
});
};
(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
var fbElement = d.getElementById(id);
if (fbElement) {
return;
}
js = d.createElement(s);
js.id = id;
js.src = '//connect.facebook.net/en_US/sdk.js';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
这是我对 facebook messenger 复选框插件的指令
<div
class="fb-messenger-checkbox"
origin="{{origin}}"
page_id="{{pageId}}"
messenger_app_id="{{messengerAppId}}"
user_ref="{{userRef}}"
prechecked="true"
allow_login="true"
size="xlarge">
</div>
就像我说的,当我第一次导航到页面时一切正常(然后呈现 Facebook Checkbox Messenger 插件)。之后,当我导航到另一个页面并返回时,插件不再显示。没有任何错误,而且我每次都会重新计算 user_ref 参数为随机字符串。
在我看来,当我导航回该页面时(即使我不再 FB.init)调用了一次 FB.init 时,出现了问题。
有谁知道可能是什么问题?
【问题讨论】:
标签: javascript jquery angularjs facebook facebook-messenger