crafatar.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. var xhr = new XMLHttpRequest();
  2. xhr.onload = function() {
  3. var response = JSON.parse(xhr.responseText);
  4. var status = {};
  5. response.map(function(elem) {
  6. var key = Object.keys(elem)[0];
  7. status[key] = elem[key];
  8. });
  9. var textures = status["textures.minecraft.net"] !== "green";
  10. var session = status["sessionserver.mojang.com"] !== "green";
  11. var skins = status["skins.minecraft.net"] !== "green";
  12. var error = null;
  13. if (textures || session && skins) {
  14. error = "all";
  15. } else if (skins) {
  16. error = "username";
  17. } else if (session) {
  18. error = "UUID";
  19. }
  20. if (error) {
  21. var warn = document.createElement("div");
  22. warn.setAttribute("class", "alert alert-warning");
  23. warn.setAttribute("role", "alert");
  24. warn.innerHTML = "<h5>Mojang issues</h5> Mojang's servers are having trouble <i>right now</i>, this affects <b>" + error + "</b> requests at Crafatar. <small><a href=\"https://help.mojang.com\" target=\"_blank\">check status</a>";
  25. document.querySelector("#alerts").appendChild(warn);
  26. }
  27. };
  28. document.addEventListener("DOMContentLoaded", function(event) {
  29. var avatars = document.querySelector("#avatar-wrapper");
  30. for (var i = 0; i < avatars.children.length; i++) {
  31. // shake 'em on down!
  32. // https://stackoverflow.com/a/11972692/2517068
  33. avatars.appendChild(avatars.children[Math.random() * i | 0]);
  34. }
  35. xhr.open("GET", "https://status.mojang.com/check", true);
  36. xhr.send();
  37. });