我一直在尝试在初始页面加载时隐藏客户聊天插件的问候对话框。我已经设置了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() {})
,但是由于互联网速度的原因,它的工作会延迟。