我使用 i18n-jquery 处理语言切换,还使用 tawk.to 聊天小部件。我已经设法在页面重新加载时为小部件加载不同的语言,但是由于 i18n 不会重新加载页面并且我不想重新加载页面,因此我需要自行重新加载小部件。
function loadChatBox(){
var lang = JSON.parse(localStorage.getItem('lang'))
var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
(function(){
var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
s1.async=true;
if(lang == 'en'){
s1.src='https://embed.tawk.to/.../asset1';
}else{
s1.src='https://embed.tawk.to/.../asset2';
}
s1.charset='UTF-8';
s1.id = "chatBox";
s1.setAttribute('crossorigin','*');
s0.parentNode.insertBefore(s1,s0);
})();
}
这是我当前的 tawk 嵌入,我尝试将它放在函数中以在语言更改时调用它,但小部件不会更改为不同的资产。我确实注销s0
并更改了脚本中的资产更改,src
但小部件本身没有。我猜我需要重新加载小部件,但我不知道如何。