MediaWiki:Common.js — различия между версиями

Материал из PanoramaWiki
Перейти к: навигация, поиск
 
(не показано 13 промежуточных версий этого же участника)
Строка 1: Строка 1:
−
mw.loader.load('https://translate.yandex.net/website-widget/v1/widget.js?widgetId=ytWidget&pageLang=ru&widgetTheme=light&autoMode=false');
+
// 1. Функция инициализации виджета (должна быть глобальной для Google)
−
mw.loader.load('window.yaContextCb.push(()=>{
+
window.googleTranslateElementInit = function() {
−
  Ya.Context.AdvManager.render({
+
    new google.translate.TranslateElement({
−
    renderTo: "yandex_rtb_R-A-1341415-1",
+
        pageLanguage: 'ru',
−
     blockId: "R-A-1341415-1"
+
    }, 'google_translate_element');
−
  })
+
};
−
}));')
+
 
−
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
+
// 2. Безопасная загрузка скрипта через чистый, старый JavaScript
 +
(function() {
 +
    var gtScript = document.createElement('script');
 +
    gtScript.type = 'text/javascript';
 +
    gtScript.async = true;
 +
    gtScript.src = 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit&hl=en';
 +
   
 +
    var firstScript = document.getElementsByTagName('script')[0];
 +
    if (firstScript && firstScript.parentNode) {
 +
        firstScript.parentNode.insertBefore(gtScript, firstScript);
 +
    } else {
 +
        document.getElementsByTagName('head')[0].appendChild(gtScript);
 +
     }
 +
})();

Текущая версия на 19:25, 22 августа 2026

// 1. Функция инициализации виджета (должна быть глобальной для Google)
window.googleTranslateElementInit = function() {
    new google.translate.TranslateElement({
        pageLanguage: 'ru',
    }, 'google_translate_element');
};

// 2. Безопасная загрузка скрипта через чистый, старый JavaScript
(function() {
    var gtScript = document.createElement('script');
    gtScript.type = 'text/javascript';
    gtScript.async = true;
    gtScript.src = 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit&hl=en';
    
    var firstScript = document.getElementsByTagName('script')[0];
    if (firstScript && firstScript.parentNode) {
        firstScript.parentNode.insertBefore(gtScript, firstScript);
    } else {
        document.getElementsByTagName('head')[0].appendChild(gtScript);
    }
})();