我正在将 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
方法可能会有所帮助,但在这种情况下似乎没有任何区别。
有什么想法吗?
实际上我在这里找到了我需要的解决方案,这可以防止出现离线按钮。
window.zESettings = {
webWidget: {
contactForm: {
suppress: true
}
}
};
https://developer.zendesk.com/embeddables/docs/widget/settings#suppress