如何使用i18next在语言更改时重新加载tawk.to小部件?

时间:2019-01-16 09:07:02

标签: javascript jquery translation i18next tawk.to

我使用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中的资产更改,但小部件本身没有。我猜我需要重新加载小部件,但我不知道如何。

1 个答案:

答案 0 :(得分:0)

不幸的是,Tawk.to中没有此类功能