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>