1

我正在为我的网站使用谷歌翻译器。但是,当我在本地主机或 ec2 实例上运行它时,谷歌翻译器组合框会显示两次。

这是我的代码。

<div id="google_translate_element" style="position: relative;z-index: 1;"></div> 

<script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'en,es,id,ru,tl,zh-TW', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

这就是它的外观。知道为什么它显示了两次吗?

在此处输入图像描述

4

2 回答 2

1

我确实按原样尝试了这段代码,只看到一个组合框,无论如何你可以尝试删除一个javascript块,看起来确实有一个组合框有两个定义

于 2015-04-08T15:30:07.083 回答
1

当您选择翻译页面然后单击该页面上的链接(针对同一站点)时,问题仍然存在。点击链接的页面在屏幕顶部有两个“翻译栏/标题”。下面对原始小部件脚本的简单更改解决了我的问题:

<div id="google_translate_element" style="position: relative;z-index: 1;"></div>
<script type="text/javascript">
var g_gTranslateIsAdded = false;
function googleTranslateElementInit() {
    if (!g_gTranslateIsAdded ) {
        g_gTranslateIsAdded = true;
        new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'en,es,id,ru,tl,zh-TW', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
    }
}
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
于 2017-12-14T12:53:04.830 回答