ruffle/web/demo/www/index.js

56 lines
1.3 KiB
JavaScript
Raw Normal View History

import "./element";
2019-04-25 17:52:22 +00:00
2019-05-06 10:31:33 +00:00
let sampleFileInput = document.getElementById("sample-file");
if (sampleFileInput) {
sampleFileInput.addEventListener("change", sampleFileSelected, false);
}
2019-04-25 17:52:22 +00:00
2019-05-06 10:31:33 +00:00
let localFileInput = document.getElementById("local-file");
if (localFileInput) {
localFileInput.addEventListener("change", localFileSelected, false);
}
2019-04-29 20:24:29 +00:00
if (window.location.search && window.location.search != "") {
2019-05-07 23:07:23 +00:00
let urlParams = new URLSearchParams(window.location.search);
let url = urlParams.get("file");
if (url && url != "") {
loadRemoteFile(url);
}
}
2019-05-06 10:31:33 +00:00
function localFileSelected() {
let file = localFileInput.files[0];
2019-04-25 17:52:22 +00:00
if (file) {
let fileReader = new FileReader();
fileReader.onload = e => {
playSwf(fileReader.result);
}
fileReader.readAsArrayBuffer(file);
}
}
2019-05-06 10:31:33 +00:00
function sampleFileSelected() {
if (sampleFileInput.selectedIndex <= 0) {
// No SWF selected.
return;
}
2019-05-06 10:31:33 +00:00
let file = sampleFileInput.selectedOptions[0].innerText;
if (file) {
loadRemoteFile(file);
2019-05-06 10:31:33 +00:00
}
2019-04-29 20:24:29 +00:00
}
function loadRemoteFile(url) {
fetch(url)
.then(response => {
response.arrayBuffer().then(data => playSwf(data))
});
}
2019-05-06 10:31:33 +00:00
let timestamp = 0;
2019-05-06 10:51:09 +00:00
let animationHandler;
2019-05-06 10:31:33 +00:00
2019-04-25 17:52:22 +00:00
function playSwf(swfData) {
2019-08-21 04:15:39 +00:00
document.getElementById("player").play_swf(swfData);
2019-04-25 17:52:22 +00:00
}