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

Материал из PanoramaWiki
Перейти к: навигация, поиск
 
Строка 1: Строка 1:
// Ждем, пока MediaWiki и страница полностью загрузятся
+
// 1. Функция инициализации виджета (должна быть глобальной для Google)
$(document).ready(function() {
+
window.googleTranslateElementInit = function() {
 
+
    new google.translate.TranslateElement({
    // 1. Инициализация и вставка Google Переводчика
+
        pageLanguage: 'ru',
    window.googleTranslateElementInit = function() {
+
    }, 'google_translate_element');
        new google.translate.TranslateElement({
+
};
            pageLanguage: 'ru',
 
            layout: google.translate.TranslateElement.InlineLayout.SIMPLE
 
        }, 'google_translate_element');
 
    };
 
  
 +
// 2. Безопасная загрузка скрипта через чистый, старый JavaScript
 +
(function() {
 
     var gtScript = document.createElement('script');
 
     var gtScript = document.createElement('script');
 
     gtScript.type = 'text/javascript';
 
     gtScript.type = 'text/javascript';
 
     gtScript.async = true;
 
     gtScript.async = true;
     gtScript.src = 'https://google.com';
+
     gtScript.src = 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit&hl=en';
     document.head.appendChild(gtScript);
+
      
 
+
     var firstScript = document.getElementsByTagName('script')[0];
 
+
    if (firstScript && firstScript.parentNode) {
     // 2. Инициализация Рекламы Яндекса (Пример безопасного вызова)
+
        firstScript.parentNode.insertBefore(gtScript, firstScript);
    // Убедитесь, что в HTML-коде страниц сайта присутствует блок: <div id="yandex_rtb_R-A-1341415-1"></div>
 
    if (document.getElementById("yandex_rtb_R-A-1341415-1")) {
 
        window.yaContextCb = window.yaContextCb || [];
 
        window.yaContextCb.push(function() {
 
            Ya.Context.AdvManager.render({
 
                renderTo: 'yandex_rtb_R-A-1341415-1',
 
                blockId: 'R-A-1341415-1'
 
            });
 
        });
 
 
     } else {
 
     } else {
         console.warn("Рекламный контейнер Яндекса не найден на этой странице, пропускаем инициализацию.");
+
         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);
    }
})();