Я переключаю язык с помощью 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, но сам виджет этого не сделал. Думаю, мне нужно перезагрузить виджет, но я не знаю как.
Подробнее здесь:
https://stackoverflow.com/questions/542 ... ng-i18next