javascript - 如何在点击时加载谷歌翻译小部件?

标签 javascript jquery google-translate

我在我的网站上使用 Google Translate Widget,但我不希望它在页面加载时加载,因为它会减慢加载速度并且不经常使用。我想要一个图像,并且只有当我单击该图像来加载小部件时。

现在,我有这个代码:

<script type="text/javascript">


 function googleTranslateElementInit() {
    new google.translate.TranslateElement({pageLanguage: 'ro',
      includedLanguages: 'af,ar,de,en,es,fr,hu,it,ja,no,ro,ru,tr,zh-CN',
      layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
      autoDisplay: false}, 'google_translate_element');
  }

  var googleTranslateScript = document.createElement('script');
  googleTranslateScript.type = 'text/javascript';
  googleTranslateScript.async = true;
  googleTranslateScript.src = 'http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
  ( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild(googleTranslateScript);
</script>

有人可以帮忙吗?

最佳答案

将脚本加载部分放在函数中:

<script type="text/javascript">
  function googleTranslateElementInit() {
    new google.translate.TranslateElement({pageLanguage: 'ro',
      includedLanguages: 'af,ar,de,en,es,fr,hu,it,ja,no,ro,ru,tr,zh-CN',
      layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
      autoDisplay: false}, 'google_translate_element');
  }

  function loadGoogleTranslate() {
    var googleTranslateScript = document.createElement('script');
    googleTranslateScript.type = 'text/javascript';
    googleTranslateScript.async = true;
    googleTranslateScript.src = 'http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild(googleTranslateScript);
  }
</script>

然后您可以向脚本添加点击处理程序,或者使用 html onclick,例如:

<img onclick="loadGoogleTranslate(); this.remove()">

关于javascript - 如何在点击时加载谷歌翻译小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36515089/

相关文章:

javascript - 顶部 div 的动画位置创建空间

python - 使用 google translate 从 python 脚本翻译 url

php - 从谷歌翻译的网页链接回原始语言

google-api - Google Translate API(付费)与 Google Translate API(免费)?

javascript - 为什么不执行跨源政策?

javascript - 在 videojs 中重写全屏

java - 在Java中解析包含JS的HTML页面

javascript - jQuery 点击跟踪不适用于 iFrame

javascript - 未定义|0|引用错误 : Strict mode forbids implicit creation of global property 'csrf_token'

javascript - 通过遵循 ECMAScript 规范了解 JavaScript super() 调用