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

Нет описания правки
Метка: отменено
упрощение
Метка: отменено
Строка 167: Строка 167:
     'use strict';
     'use strict';
      
      
     function initVimeoPlayers() {
     function loadVimeoPlayers() {
         var players = document.querySelectorAll('.vimeo-player');
         var containers = document.querySelectorAll('.vimeo-player');
        if (players.length === 0) return;
          
          
         // Загружаем API Vimeo если еще не загружено
         containers.forEach(function(container) {
        if (typeof Vimeo === 'undefined') {
             var videoId = container.getAttribute('data-vimeo-id');
            var script = document.createElement('script');
            if (!videoId) return;
            script.src = 'https://player.vimeo.com/api/player.js';
           
            script.onload = createVimeoPlayers;
            var iframe = document.createElement('iframe');
            document.head.appendChild(script);
            iframe.src = 'https://player.vimeo.com/video/' + videoId;
        } else {
            iframe.width = '560';
            createVimeoPlayers();
            iframe.height = '315';
        }
            iframe.frameBorder = '0';
       
            iframe.allow = 'autoplay; fullscreen; picture-in-picture';
        function createVimeoPlayers() {
            iframe.allowFullscreen = true;
             players.forEach(function(player) {
           
                var videoId = player.getAttribute('data-vimeo-id');
            container.innerHTML = '';
                if (!videoId) return;
            container.appendChild(iframe);
               
        });
                var iframe = document.createElement('iframe');
                iframe.src = 'https://player.vimeo.com/video/' + videoId +
                            '?autoplay=0&title=0&byline=0&portrait=0&dnt=1';
                iframe.width = '560';
                iframe.height = '315';
                iframe.frameBorder = '0';
                iframe.allow = 'autoplay; fullscreen; picture-in-picture';
                iframe.allowFullscreen = true;
               
                player.appendChild(iframe);
            });
        }
     }
     }
      
      
     if (document.readyState === 'loading') {
     if (document.readyState === 'loading') {
         document.addEventListener('DOMContentLoaded', initVimeoPlayers);
         document.addEventListener('DOMContentLoaded', loadVimeoPlayers);
     } else {
     } else {
         initVimeoPlayers();
         loadVimeoPlayers();
     }
     }
      
      
     mw.hook('wikipage.content').add(initVimeoPlayers);
     mw.hook('wikipage.content').add(loadVimeoPlayers);
   
})();
})();