【问题标题】:Google translate element - load after page ready谷歌翻译元素 - 页面准备好后加载
【发布时间】:2014-06-11 19:50:14
【问题描述】:

我在我的页面上使用谷歌网络翻译元素。对于那些不知道它是什么的人,你可以在这里找到它:http://translate.google.com/translate_tools

它使用 javascript 在页面上加载。我将它嵌入到我的页面顶部,这导致我的其余内容停止加载,直到翻译栏完成加载。

如何延迟 javascript 运行直到我的页面完全加载?

这是脚本:

<div id="google_translate_element"></div><script>
function googleTranslateElementInit() {
  new google.translate.TranslateElement({
    pageLanguage: 'en',
    includedLanguages: 'da,nl,en,fi,fr,it,no,ru,es,sv',
    layout: google.translate.TranslateElement.InlineLayout.SIMPLE
  }, 'google_translate_element');
}
</script><script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

【问题讨论】:

  • 你的意思是除了放在页面底部之外?

标签: javascript load domready


【解决方案1】:

另一种方法是异步加载谷歌翻译。

<div class="custom-translate" id="google_translate_element"></div>

<!-- ASYNCHRONOUS Google Translate -->
        <script type="text/javascript">
        function googleTranslateElementInit() {
          new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.SIMPLE, autoDisplay: false},'google_translate_element');
        }

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

【讨论】:

    【解决方案2】:

    正如 John Conde 所说,我将脚本放在页面底部,嘿,页面加载

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 2015-08-14
      • 2018-05-06
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多