2011-11-02 69 views
-1

我在我的頁面上使用谷歌網頁翻譯元素。對於那些不知道它是什麼,你可以在這裏找到它: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

另一種方法是先裝載谷歌翻譯異步。

<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 -->