You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将JavaScript对象在HTML页面渲染为带可点击链接的三列表格

实现方案

你可以直接用下方的完整代码替换原有index.html的全部内容,无需引入额外第三方依赖,开箱即可实现你需要的三列可点击链接表格效果:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>合约链接表格</title>
    <style>
        /* 表格基础美化样式,不需要可以直接删除整段style */
        table {
            border-collapse: collapse;
            width: 100%;
            margin: 20px 0;
        }
        th, td {
            border: 1px solid #ddd;
            padding: 8px;
            text-align: left;
        }
        th {
            background-color: #f2f2f2;
        }
        a {
            color: #2196F3;
            text-decoration: none;
        }
        a:hover {
            text-decoration: underline;
        }
    </style>
</head>
<body>
    <table id="dataTable">
        <thead>
            <tr>
                <th>合约代码</th>
                <th>TradingView 链接</th>
                <th>Kite 链接</th>
            </tr>
        </thead>
        <tbody id="tableBody">
            <!-- 动态数据会自动插入到此处 -->
        </tbody>
    </table>

    <script>
        var eventSource = new EventSource("/listen")
        const tableBody = document.getElementById('tableBody')
        
        eventSource.addEventListener("message", function(e) {
            console.log(e.data)
        }, false)

        eventSource.addEventListener("online", function(e) {
            let data = JSON.parse(e.data)
            // 清空旧的表格数据
            tableBody.innerHTML = ''
            // 遍历所有合约数据生成表格行
            Object.entries(data).forEach(([contractKey, urls]) => {
                const row = document.createElement('tr')
                // 第一列:合约key值
                const keyCell = document.createElement('td')
                keyCell.textContent = contractKey
                row.appendChild(keyCell)
                // 第二列:第一个可点击链接
                const link1Cell = document.createElement('td')
                const link1 = document.createElement('a')
                link1.href = urls[0]
                link1.textContent = '查看TradingView行情'
                link1.target = '_blank'
                link1.rel = 'noopener noreferrer'
                link1Cell.appendChild(link1)
                row.appendChild(link1Cell)
                // 第三列:第二个可点击链接
                const link2Cell = document.createElement('td')
                const link2 = document.createElement('a')
                link2.href = urls[1]
                link2.textContent = '查看Kite行情'
                link2.target = '_blank'
                link2.rel = 'noopener noreferrer'
                link2Cell.appendChild(link2)
                row.appendChild(link2Cell)
                // 将生成的行插入表格
                tableBody.appendChild(row)
            })
        }, true)
    </script>
</body>
</html>

功能说明

  • 每次接收到服务端推送的online事件时,表格会自动刷新为最新的数据
  • 所有链接点击后会在新标签页打开,不会覆盖当前的推送页面
  • 如果你需要修改链接的显示文本,直接修改代码中link1.textContent和link2.textContent的赋值内容即可

内容的提问来源于stack exchange,提问作者Akshad Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 14:36:06