forked from cloudflare/speedtest
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
39 lines (33 loc) · 1.19 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<body>
<div id="controls"></div>
<div id="result"></div>
<script type="module">
import SpeedTest from 'https://cdn.skypack.dev/@cloudflare/speedtest';
const controlEl = document.getElementById('controls');
const resEl = document.getElementById('result');
const engine = new SpeedTest({
autoStart: false
});
engine.onRunningChange = running => controlEl.textContent = running ? 'Running...' : 'Finished!';
engine.onResultsChange = ({ type }) => {
!engine.isFinished && setResult(engine.results.raw);
console.log(type);
};
engine.onFinish = results => {
setResult(results.getSummary());
console.log(results.getSummary());
console.log(results.getScores());
};
engine.onError = (e) => console.log(e);
const playButton = document.createElement('button');
playButton.textContent = "Start Speed Measurement";
playButton.onclick = () => engine.play();
controlEl.appendChild(playButton);
function setResult(obj) {
const resTxt = document.createElement('pre');
resTxt.textContent = JSON.stringify(obj, null, 2);
resEl.textContent = '';
resEl.appendChild(resTxt);
}
</script>
</body>