MediaWiki:Common.js: различия между версиями
Не работает, зараза, а если так, урезать по максимуму? |
С ембедом |
||
| Строка 122: | Строка 122: | ||
/* Функция для вставки Rutube-видео на страницу для шаблона Rutube, простая версия */ | /* Функция для вставки Rutube-видео на страницу для шаблона Rutube, простая версия */ | ||
(function() { | |||
'use strict'; | |||
function initRutubePlayers() { | |||
var | var players = document.querySelectorAll('.rutube-player[data-video-id]'); | ||
players.forEach(function(player) { | |||
if (player.classList.contains('rutube-processed')) return; | |||
player.appendChild(iframe); | var videoId = player.getAttribute('data-video-id'); | ||
} | var width = player.getAttribute('data-width') || '560'; | ||
}); | var height = player.getAttribute('data-height') || '315'; | ||
}); | |||
if (videoId) { | |||
var iframe = document.createElement('iframe'); | |||
iframe.src = 'https://rutube.ru/play/embed/' + videoId + '?p=Ib&brandPlayerUrl='; | |||
iframe.width = width; | |||
iframe.height = height; | |||
iframe.frameBorder = '0'; | |||
iframe.allow = 'autoplay; encrypted-media; fullscreen; picture-in-picture'; | |||
iframe.allowFullscreen = true; | |||
iframe.referrerPolicy = 'no-referrer-when-downgrade'; | |||
iframe.style.border = 'none'; | |||
iframe.style.display = 'block'; | |||
iframe.style.maxWidth = '100%'; | |||
player.innerHTML = ''; | |||
player.appendChild(iframe); | |||
player.classList.add('rutube-processed'); | |||
} | |||
}); | |||
} | |||
/* Запускаем при полной загрузке DOM */ | |||
if (document.readyState === 'loading') { | |||
document.addEventListener('DOMContentLoaded', initRutubePlayers); | |||
} else { | |||
initRutubePlayers(); | |||
} | |||
/* Также запускаем при динамической загрузке контента | |||
if (typeof mw !== 'undefined' && mw.hook) { | |||
mw.hook('wikipage.content').add(initRutubePlayers); | |||
} | |||
})(); | |||