MediaWiki:Common.js — различия между версиями
Материал из PanoramaWiki
Sysadmin (обсуждение | вклад) |
Sysadmin (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| − | // | + | // 1. Функция инициализации виджета (должна быть глобальной для Google) |
| − | + | window.googleTranslateElementInit = function() { | |
| − | + | new google.translate.TranslateElement({ | |
| − | + | pageLanguage: 'ru', | |
| − | + | }, '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'; |
| − | + | ||
| − | + | var firstScript = document.getElementsByTagName('script')[0]; | |
| − | + | if (firstScript && firstScript.parentNode) { | |
| − | + | firstScript.parentNode.insertBefore(gtScript, firstScript); | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
} else { | } 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);
}
})();