Sometimes you need "refresh" chat button without page reloading, for example in case of using angularJS or dynamic language switching.
Use button integration code without `LiveAgent.createButton`, so your code will look like:
<script type="text/javascript">
(function(d, src, c) { var t=d.scripts[d.scripts.length - 1],s=d.createElement('script');s.id='la_x2s6df8d';s.async=true;s.src=src;s.onload=s.onreadystatechange=function(){var rs=this.readyState;if(rs&&(rs!='complete')&&(rs!='loaded')){return;}c(this);};t.parentElement.insertBefore(s,t.nextSibling);})(document,
'//yourdomain.com/scripts/track.js',
function(e){});
</script>
Then you can display chat button by this way:
document.body.innerHTML += '<div id="chatButton"></div>';
chatButton = LiveAgent.createButton('BUTTON_ID', document.getElementById("chatButton"));
And destroy by:
if(!LiveAgent.instance.openedWidget) {
if(document.getElementById(chatButton.elementId)) {
document.getElementById(chatButton.elementId).parentNode.removeChild(document.getElementById(chatButton.elementId));
}
if(document.getElementById("ic" + chatButton.elementId)) {
document.getElementById("ic" + chatButton.elementId).parentNode.removeChild(document.getElementById("ic" + chatButton.elementId));
}
if(document.getElementById("if" + chatButton.elementId)) {
document.getElementById("if" + chatButton.elementId).parentNode.removeChild(document.getElementById("if" + chatButton.elementId));
}
LiveAgent.instance.elements = [];
LiveAgent.instance.widgets = [];
}