我在我的网站上使用Google网站翻译器让用户即时翻译网站。使用此代码:检测Google网站翻译语言的变化
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'ar,de,el,en,es,fr,it,ja,ko,nl,ru,zh-CN', layout: google.translate.TranslateElement.FloatPosition.BOTTOM_RIGHT}, 'google_translate_element');
}
这很好,现在唯一的事情是我需要知道用户实际选择了哪种语言。 我想要在用户手动选择一种语言时以及翻译者进行自动翻译时检测它们,因为它可以根据浏览器设置进行自动翻译。
我想要做的是添加一个事件监听器,当语言改变。即不仅在用户手动设置语言时,而且每次翻译者实际进行翻译时都如此。 例如当翻译开始或结束或当页面“刷新”以显示新语言时。
我需要收集此信息并将其发送到服务器,以了解在稍后阶段发送给用户的电子邮件使用的语言。由于这些信息是从多个地方收集的,因此我不想每次需要信息时都手动检查选定的语言,而是要添加一个检测语言更改的事件侦听器,并触发AJAX方法将信息保存在会话中服务器。
谢谢!
感谢答案。 ('change','#google_translate_element select',updateLanguage);'并在updateLanguage方法内部通过'$('#google_translate_element select')检索值。 .VAL()'。这工作正常,但是我想找到一种方法来收听翻译者使用新的语言内容更新页面时引发的事件。 – Blizwire
$('body')。on('change','#google_translate_element select',updateLanguage); @Blizwire提到的效果很好。当页面刷新以获取当前语言时,我选择阅读由google translate插件存储的cookie“googtrans”。 – chris