微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-检测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方法以将信息保存在会话中服务器.

谢谢!

解决方法:

用户手动选择一种语言(更改选择框的值)时,您可能会选择

$('.goog-te-combo').on('change',function(){
       language = $("select.goog-te-combo option:selected").text();
        alert(language);
    });

Fiddle

如果您的页面刷新并且翻译器翻译了您的页面,则可以使用setTimeout获取当前使用的语言.这不是完美的,但肯定有助于配合..

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐