Ответы пользователя по тегу Google
  • Google translate для перевода сайта без верхнего фрейма

    Desiderata
    @Desiderata
    Сам недавно столкнулся с подобной проблемой.
    Вот моё не слишком изящное решение на JQuery, вдруг кому-то пригодится.
    function DeleteGoogleIframe()
    {
        // Проверяем есть ли на странице фрейм гугла.
        // Если у вас на сайте есть другие фреймы, данную запись придется менять.
        if($("iframe").length)
        {
            // Ожидаем пока фрейм прогрузится
            $("iframe").load(function()
            {
                // Прячем панель гугла через 250мс (таймаут был подобран экспериментально)
                // Без использования таймаута убрать панель мне не удалось.
                setTimeout(function()
                {
                    // прячем панель
                    $("iframe").hide();
                }, 250);
            });
        }
    }
    


    Вызов функции DeleteGoogleIframe нужно добавить в код, размещаемый на странице сайта:
    <div id="google_translate_element"></div>
    <script>
    function googleTranslateElementInit() {
      new google.translate.TranslateElement({
        pageLanguage: 'ru',
        includedLanguages: 'en,ru'
      }, 'google_translate_element');
    DeleteGoogleIframe();
    }
    </script>
    <script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
    


    Помимо этого, необходимо отслеживать событие выбора языка:
    $('.goog-te-combo').live('change', DeleteGoogleIframe);
    
    Ответ написан
    Комментировать