UNPKG

rapier

Version:

A JavaScript Dota 2 (Source 2) replay parsing library.

72 lines (67 loc) 1.84 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset=utf-8> <title>Browser Parsing Demo</title> <style> #holder { border: 10px dashed #ccc; width: 300px; height: 300px; } #holder.hover { border: 10px dashed #333; } </style> </head> <body> <div id="holder"></div> <p id="status"></p> <p>Drag a replay from your desktop on to the drop zone above to parse.</p> </body> <script src="../build/rapier.js"></script> <script> var holder = document.getElementById('holder'), state = document.getElementById('status'); if (typeof window.FileReader === 'undefined') { state.className = 'fail'; } else { state.className = 'success'; state.innerHTML = 'File API & FileReader available'; } holder.ondragover = function() { this.className = 'hover'; return false; }; holder.ondrop = function(e) { var file = e.dataTransfer.files[0]; parseFile(file); return false; }; function parseFile(file) { var reader = new FileReader(); reader.readAsArrayBuffer(file); reader.addEventListener("load", function(e) { var buf = reader.result; var count = 0; var p = new Parser(buf); //all chat p.on("CUserMessageSayText2", function(data) { console.log(data); }); p.on("*", function(data) { count += 1; }); console.time('parse'); p.start(function(err) { if (err) { console.log(err); } console.log(count); console.timeEnd('parse'); }); }); } </script> </html>