0

私は自分のページでgooglewebtranslate要素を使用しています。それが何であるかを知らない人のために、あなたはここでそれを見つけることができます: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>
4

2 に答える 2

5

もう 1 つの方法は、Google 翻訳を非同期的にロードすることです。

<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 -->
于 2014-06-11T11:50:14.233 に答える
2

ジョン・コンデがコメントしたように、スクリプトをページの下部に配置し、さあ、ページの読み込み

于 2011-11-03T09:05:31.747 に答える