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

А так? Без query?
Метка: отменено
Ну и ладно
Метка: отмена
Строка 161: Строка 161:
      
      
})();
})();
/* Vimeo Player для absurdopedia.wiki */
function initVimeoPlayers() {
    var allElements = document.getElementsByTagName('*');
    var vimeoPlayers = [];
   
    for (var i = 0; i < allElements.length; i++) {
        if (allElements[i].className && allElements[i].className.indexOf('vimeo-player') !== -1) {
            vimeoPlayers.push(allElements[i]);
        }
    }
   
    for (var j = 0; j < vimeoPlayers.length; j++) {
        var player = vimeoPlayers[j];
        var videoId = player.id.replace('vimeo-', '');
       
        var hasIframe = false;
        for (var k = 0; k < player.children.length; k++) {
            if (player.children[k].tagName === 'IFRAME') {
                hasIframe = true;
                break;
            }
        }
       
        if (videoId && !hasIframe) {
            // Создаем iframe
            var iframe = document.createElement('iframe');
            iframe.src = 'https://player.vimeo.com/video/' + videoId;
            iframe.width = '560';
            iframe.height = '315';
            iframe.frameBorder = '0';
            iframe.allow = 'autoplay; fullscreen; picture-in-picture';
            iframe.allowFullscreen = true;
            iframe.style.display = 'block';
           
            player.innerHTML = '';
            player.appendChild(iframe);
        }
    }
}
if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', initVimeoPlayers);
} else {
    initVimeoPlayers();
}
if (typeof mw !== 'undefined' && mw.hook && mw.hook('wikipage.content').add) {
    mw.hook('wikipage.content').add(initVimeoPlayers);
}