我正在将Zendesk Web小部件加载到页面中,这是加载时的事件处理程序
scriptElement.onload = function () {
zE(function () {
$zopim(function () {
$zopim.livechat.button.setHideWhenOffline(true);
$zopim.livechat.setOnStatus(function (status) {
console.log('status',status);
status === 'online' ? $zopim.livechat.button.show() : $zopim.livechat.button.hide();
});
$zopim.livechat.setStatus('offline');
});
});
};
它具有setOnStatus
事件处理程序,该事件处理程序应在状态更改时随时触发。最初在页面加载时,它似乎被触发了一次。您希望每次我调用setStatus
方法时也会被触发,但事实并非如此。在我记录状态的位置,它始终只是“在线”,并且只发生一次。
我要执行的操作是在状态为脱机时强制按钮消失。但是,将状态设置为“离线”并不会隐藏按钮,而只会显示离线版本(即,一个按钮,它使我可以发送离线消息,而不是实时聊天)。
我认为setHideWhenOffline
方法可能有所帮助,但在这种情况下似乎没有什么区别。
有什么想法吗?
答案 0 :(得分:0)
实际上,我在这里找到了所需的解决方案,这可以防止出现脱机按钮。
window.zESettings = {
webWidget: {
contactForm: {
suppress: true
}
}
};
https://developer.zendesk.com/embeddables/docs/widget/settings#suppress