summaryrefslogtreecommitdiff
path: root/tw web/tw/details-script.js
blob: aea5e4ad5ac67a282f777a4c2d59086c80021b36 (plain)
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
window.onload = function() {
    const urlParams = new URLSearchParams(window.location.search);
    const lat = urlParams.get('lat');
    const lng = urlParams.get('lng');
    const v6_recur = urlParams.get('v6_recur');
    const v6_open = urlParams.get('v6_open');
    const dnssec = urlParams.get('dnssec');
    const doe = urlParams.get('doe');
    const odns = urlParams.get('odns');
    const fileName = `${lat}_${lng}.json`;

    displayStatistics(lat, lng, v6_recur, v6_open, dnssec, doe, odns);
    fetchDetails(fileName);
};



function fetchDetails(fileName) {
    fetch(fileName)
        .then(response => response.json())
        .then(data => displayDetails(data))
        .catch(error => console.error('Error loading data:', error));
}


function displayDetails(data) {
    const detailsCard = document.getElementById('details-card');
    let detailsHtml = `<h2><i class="fas fa-list"></i>Details</h2>`;

    Object.keys(data).forEach(key => {
        detailsHtml += `
            <h3 class="toggle-section" onclick="toggleSection('${key}')">${key.toUpperCase()}</h3>
            <table id="table-${key}" class="collapsed">`;

        data[key].forEach(item => {
            detailsHtml += `<tr>
                <td>${item.ip}</td>
                <td>${item.owner}</td>
                <td>${item.isp}</td>
                <!-- 更多列数据 -->
            </tr>`;
        });

        detailsHtml += `</table>`;
    });

    detailsCard.innerHTML = detailsHtml;
}

function toggleSection(key) {
    const table = document.getElementById(`table-${key}`);
    table.classList.toggle('collapsed');
}
function displayStatistics(lat, lng, v6_recur, v6_open, dnssec, doe, odns) {
    const statisticsCard = document.getElementById('statistics-card');
    statisticsCard.innerHTML = `
        <div class="stats-row">
            <div class="stats-item"><i class="fas fa-map-marker-alt"></i><b>Latitude:</b> ${lat}</div>
            <div class="stats-item"><i class="fas fa-map-marker-alt"></i><b>Longitude:</b> ${lng}</div>
            <div class="stats-item"><i class="fas fa-network-wired"></i><b>V6 Recur:</b> ${v6_recur}</div>
            <div class="stats-item"><i class="fas fa-network-wired"></i><b>V6 Open:</b> ${v6_open}</div>
        </div>
        <div class="stats-row">
            <div class="stats-item"><i class="fas fa-lock"></i><b>DNSSEC:</b> ${dnssec}</div>
            <div class="stats-item"><i class="fas fa-bolt"></i><b>DOE:</b> ${doe}</div>
            <div class="stats-item"><i class="fas fa-server"></i><b>ODNS:</b> ${odns}</div>
        </div>
    `;
}