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

Материал из PanoramaWiki
Перейти к: навигация, поиск
Строка 1: Строка 1:
// 1. Функция инициализации виджета (должна быть глобальной для Google)
+
// Ждем, пока MediaWiki и страница полностью загрузятся
window.googleTranslateElementInit = function() {
+
$(document).ready(function() {
    new google.translate.TranslateElement({
+
 
        pageLanguage: 'ru',
+
    // 1. Инициализация и вставка Google Переводчика
    }, 'google_translate_element');
+
    window.googleTranslateElementInit = function() {
};
+
        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://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit&hl=en';
+
     gtScript.src = 'https://google.com';
      
+
    document.head.appendChild(gtScript);
     var firstScript = document.getElementsByTagName('script')[0];
+
 
    if (firstScript && firstScript.parentNode) {
+
 
        firstScript.parentNode.insertBefore(gtScript, firstScript);
+
    // 2. Инициализация Рекламы Яндекса (Пример безопасного вызова)
 +
     // Убедитесь, что в 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 {
         document.getElementsByTagName('head')[0].appendChild(gtScript);
+
         console.warn("Рекламный контейнер Яндекса не найден на этой странице, пропускаем инициализацию.");
 
     }
 
     }
})();
+
 
 +
});

Версия 19:16, 22 августа 2026

// Ждем, пока MediaWiki и страница полностью загрузятся
$(document).ready(function() {

    // 1. Инициализация и вставка Google Переводчика
    window.googleTranslateElementInit = function() {
        new google.translate.TranslateElement({
            pageLanguage: 'ru',
            layout: google.translate.TranslateElement.InlineLayout.SIMPLE
        }, 'google_translate_element');
    };

    var gtScript = document.createElement('script');
    gtScript.type = 'text/javascript';
    gtScript.async = true;
    gtScript.src = 'https://google.com';
    document.head.appendChild(gtScript);


    // 2. Инициализация Рекламы Яндекса (Пример безопасного вызова)
    // Убедитесь, что в 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 {
        console.warn("Рекламный контейнер Яндекса не найден на этой странице, пропускаем инициализацию.");
    }

});