Template:Playercount: Difference between revisions

From BetaMC Wiki
Jump to navigation Jump to search
Copy from intellij to media wiki, simplify to just number
Replaced content with "<span id="betamc-player-count">Loading…</span>"
Tag: Replaced
 
Line 1: Line 1:
<span id="playercount">...</span>
<span id="betamc-player-count">Loading…</span>
<script>
(function() {
  window.playerCountCallback = function(data) {
    try {
      var count = 0;
      if (typeof data === 'number') {
        count = data;
      } else if (data && typeof data === 'object') {
        count = data.players || data.online || data.count || (Array.isArray(data) ? data.length : 0);
      }
     
      document.getElementById('playercount').textContent = count;
    } catch (e) {
      console.error('Player count callback error:', e);
    }
   
    // Cleanup
    setTimeout(function() {
      var script = document.getElementById('playercount-script');
      if (script && script.parentNode) {
        script.parentNode.removeChild(script);
      }
    }, 1000);
  };
 
  // Error handler
  var handleError = function() {
    document.getElementById('playercount').textContent = '0';
  };
 
  // Create script tag
  var script = document.createElement('script');
  script.id = 'playercount-script';
  script.src = 'https://betamc.org:8080/api/players?callback=playerCountCallback';
  script.onerror = handleError;
  script.onload = function() {
    // If callback wasn't called within 5 seconds, assume error
    setTimeout(function() {
      if (document.getElementById('playercount').textContent === '...') {
        handleError();
      }
    }, 5000);
  };
 
  document.head.appendChild(script);
})();
</script>

Latest revision as of 00:10, 2 August 2025

Loading…