重新打开/刷新页面后隐藏FB Messenger

时间:2020-08-19 01:35:25

标签: javascript facebook facebook-customer-chat

我一直在尝试在初始页面加载时隐藏客户聊天插件的问候对话框。我已经设置了greeting_dialog_display="hide",并且可以使用,但是仅在第一次加载页面时使用

由于我还需要自定义Messenger的位置,因此我使用javascript在其上添加了自定义的类名。

但是,如果我让对话框显示(打开Messenger)并刷新页面或在新标签页上打开,则在页面加载后对话框不会隐藏。并且也不会添加自定义的类名。

window.fbAsyncInit = function() {
    FB.init({
        appId: "MY_APPID",
        autoLogAppEvents: true,
        xfbml: true,
        version: "v6.0",
    });

    FB.CustomerChat.hideDialog();
};

(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/xfbml.customerchat.js";
    fjs.parentNode.insertBefore(js, fjs);     
})(document, "script", "facebook-jssdk");
<div class="fb-customerchat" 
    page_id="<PAGE_ID>" 
    minimized="true"
    greeting_dialog_display="hide">
</div>

我尝试在FB启动后放置FB.CustomerChat.hideDialog();,但仍然无法正常工作。

我也尝试使用window.addEventListener('load', function() {}),但是由于互联网速度的原因,它的工作会延迟。

0 个答案:

没有答案