#javascript #load #domready
#javascript #загрузить #domready
Вопрос:
Я использую элемент Google web translate на своей странице. Для тех, кто не знает, что это такое, вы можете найти его здесь: 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>
Комментарии:
1. Вы имеете в виду помимо размещения его внизу страницы?
Ответ №1:
Другим методом может быть асинхронная загрузка Google translate.
<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:
Как прокомментировал Джон Конде, я поместил скрипт внизу страницы и вуаля, страница загружается