我正在将 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
方法可能有所帮助,但在这种情况下似乎没有任何区别。
有任何想法吗?