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

Google translate мне классно подходит для перевода сайта, но смущает верхний фрейм с логотипом.
Пробовал отдельно грузить нижний фрейм, но там есть защитный код, который меняется.

Может есть альтернативные сервисы? API не хотелось бы применять — нет времени на это. Это как последний вариант
  • Вопрос задан
  • 6202 просмотра
Пригласить эксперта
Ответы на вопрос 2
@ponemetski
Ответ написан
Комментировать
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);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы