Widget:Ruffle

From Funkinchan
Jump to navigationJump to search

<script> (function() {

 function loadRuffleScript(callback) {
   if (window.RufflePlayer) {
     callback();
   } else {
     const script = document.createElement("script");
     script.src = "https://unpkg.com/@ruffle-rs/ruffle";
     script.onload = callback;
     document.body.appendChild(script);
   }
 }
 function setupRufflePlayers() {
   const players = document.querySelectorAll(".ruffle-player:not([data-loaded])");
   players.forEach(container => {
     if (!document.body.contains(container)) return;
     const swfUrl = container.getAttribute("data-swf");
     if (!swfUrl) return;
     const player = window.RufflePlayer.newest().createPlayer();
     container.appendChild(player);
     player.load(swfUrl);
     container.dataset.loaded = "true";
   });
 }
 if (document.readyState === "complete") {
   loadRuffleScript(() => setTimeout(setupRufflePlayers, 50));
 } else {
   window.addEventListener("load", () => {
     loadRuffleScript(() => setTimeout(setupRufflePlayers, 50));
   });
 }

})(); </script>