如果代理与 Live Chat Inc 离线,则隐藏 div
Hide div if agents offline with Live Chat Inc
我在我的网站上使用 LiveChat,如果没有可用的代理,我会尝试显示 div,使用他们的指南 here
Javascript
LC_API.on_after_load = function() {
if (LC_API.agents_are_available()) {
$("#ChatLink2").hide();
} else {
$("#ChatLink2").show();
}
};
HTML
<div class='ChatLink2' id='ChatLink2'>Currently Unavailable</div>
但是,div ChatLink2
在没有可用代理时不显示
似乎是 LiveChat 和 JQuery 的竞争条件。下面检查 LC 可用性并使用 vanilla JS 而不是 jQuery.
如果代理在初始化后离线,还包括状态更改回调。
var waitForLC = setInterval(function () {
if (window.LC_API === undefined) {
return;
}
clearInterval(waitForLC);
var showUnavailableStatus = function(show){
var statusDiv = document.getElementById("ChatLink2");
var style = show ? "block" : "none";
statusDiv.style.display = style;
}
LC_API.on_after_load = function() {
if (LC_API.agents_are_available()) {
showUnavailableStatus(false);
} else {
showUnavailableStatus(true);
}
};
LC_API.on_chat_state_changed = function(data) {
showUnavailableStatus(data.state==="offline");
};
}, 100);
我在我的网站上使用 LiveChat,如果没有可用的代理,我会尝试显示 div,使用他们的指南 here
Javascript
LC_API.on_after_load = function() {
if (LC_API.agents_are_available()) {
$("#ChatLink2").hide();
} else {
$("#ChatLink2").show();
}
};
HTML
<div class='ChatLink2' id='ChatLink2'>Currently Unavailable</div>
但是,div ChatLink2
在没有可用代理时不显示
似乎是 LiveChat 和 JQuery 的竞争条件。下面检查 LC 可用性并使用 vanilla JS 而不是 jQuery.
如果代理在初始化后离线,还包括状态更改回调。
var waitForLC = setInterval(function () {
if (window.LC_API === undefined) {
return;
}
clearInterval(waitForLC);
var showUnavailableStatus = function(show){
var statusDiv = document.getElementById("ChatLink2");
var style = show ? "block" : "none";
statusDiv.style.display = style;
}
LC_API.on_after_load = function() {
if (LC_API.agents_are_available()) {
showUnavailableStatus(false);
} else {
showUnavailableStatus(true);
}
};
LC_API.on_chat_state_changed = function(data) {
showUnavailableStatus(data.state==="offline");
};
}, 100);