添加B站排行榜页面(内容是微博热搜的,需要更新)
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								html/assets/image/icon_rank.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								html/assets/image/icon_rank.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 1.9 KiB  | 
							
								
								
									
										326
									
								
								html/bilibili_rank.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										326
									
								
								html/bilibili_rank.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,326 @@
 | 
				
			|||||||
 | 
					<!DOCTYPE html>
 | 
				
			||||||
 | 
					<html lang="cn">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<head>
 | 
				
			||||||
 | 
					    <meta charset="UTF-8">
 | 
				
			||||||
 | 
					    <meta http-equiv="X-UA-Compatible" content="IE=edge">
 | 
				
			||||||
 | 
					    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
 | 
					    <title>微博热搜</title>
 | 
				
			||||||
 | 
					    <link rel="stylesheet" href="./assets/css/main.css">
 | 
				
			||||||
 | 
					</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<body>
 | 
				
			||||||
 | 
					    <div style="text-align: center;">
 | 
				
			||||||
 | 
					        <h1>微博热搜榜</h1>
 | 
				
			||||||
 | 
					        <hr>
 | 
				
			||||||
 | 
					        <div>
 | 
				
			||||||
 | 
					            显示字段:
 | 
				
			||||||
 | 
					            <label for="show_emoticon">
 | 
				
			||||||
 | 
					                <input type="checkbox" class="filter_checkbox" name="show_emoticon" id="show_emoticon"
 | 
				
			||||||
 | 
					                    detailed-checked="true">热搜表情
 | 
				
			||||||
 | 
					            </label>
 | 
				
			||||||
 | 
					            <label for="show_num">
 | 
				
			||||||
 | 
					                <input type="checkbox" class="filter_checkbox" name="show_num" id="show_num" checked="true"
 | 
				
			||||||
 | 
					                    concise-checked="true" detailed-checked="true">热度
 | 
				
			||||||
 | 
					            </label>
 | 
				
			||||||
 | 
					            <label for="show_category">
 | 
				
			||||||
 | 
					                <input type="checkbox" class="filter_checkbox" name="show_category" id="show_category" checked="true"
 | 
				
			||||||
 | 
					                    detailed-checked="true">分类
 | 
				
			||||||
 | 
					            </label>
 | 
				
			||||||
 | 
					            <label for="show_onboard_time">
 | 
				
			||||||
 | 
					                <input type="checkbox" class="filter_checkbox" name="show_onboard_time" id="show_onboard_time"
 | 
				
			||||||
 | 
					                    checked="true" detailed-checked="true">上线时间
 | 
				
			||||||
 | 
					            </label>
 | 
				
			||||||
 | 
					            <label for="show_is_new">
 | 
				
			||||||
 | 
					                <input type="checkbox" class="filter_checkbox" name="show_is_new" id="show_is_new"
 | 
				
			||||||
 | 
					                    detailed-checked="true">是否新热搜
 | 
				
			||||||
 | 
					            </label>
 | 
				
			||||||
 | 
					            <label for="show_detail">
 | 
				
			||||||
 | 
					                <input type="checkbox" class="filter_checkbox" name="show_detail" id="show_detail"
 | 
				
			||||||
 | 
					                    detailed-checked="true">热搜详情
 | 
				
			||||||
 | 
					            </label>
 | 
				
			||||||
 | 
					            <label for="show_mid">
 | 
				
			||||||
 | 
					                <input type="checkbox" class="filter_checkbox" name="show_mid" id="show_mid">mid
 | 
				
			||||||
 | 
					            </label>
 | 
				
			||||||
 | 
					            <br>
 | 
				
			||||||
 | 
					            <button id="btn_show_all">全选</button>
 | 
				
			||||||
 | 
					            <button id="btn_show_none">全不选</button>
 | 
				
			||||||
 | 
					            |
 | 
				
			||||||
 | 
					            <button id="btn_show_concise">简洁</button>
 | 
				
			||||||
 | 
					            <button id="btn_show_default">普通</button>
 | 
				
			||||||
 | 
					            <button id="btn_show_detailed">详细</button>
 | 
				
			||||||
 | 
					        </div>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					    <p id="latestUpdateTime" style="font-size: 12px; display: inline-block; vertical-align: middle;"></p>
 | 
				
			||||||
 | 
					    <nobr>
 | 
				
			||||||
 | 
					        <button id="btn_refresh">重新拉取</button>
 | 
				
			||||||
 | 
					    </nobr>
 | 
				
			||||||
 | 
					    <nobr>
 | 
				
			||||||
 | 
					        <label for="auto_refresh">
 | 
				
			||||||
 | 
					            <input type="checkbox" name="auto_refresh" id="auto_refresh">自动拉取<span id="auto_refresh_countdown"></span>
 | 
				
			||||||
 | 
					        </label>
 | 
				
			||||||
 | 
					    </nobr>
 | 
				
			||||||
 | 
					    <nobr>
 | 
				
			||||||
 | 
					        <span id="update-finish-info" style="color: green; font-weight: bold; display: none;">拉取成功,数据已更新</span>
 | 
				
			||||||
 | 
					    </nobr>
 | 
				
			||||||
 | 
					    <table id="list"></table>
 | 
				
			||||||
 | 
					    <script>
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * 全局变量
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        // 拉取下来的数据
 | 
				
			||||||
 | 
					        let hotBandData;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // 按钮
 | 
				
			||||||
 | 
					        const btnShowAll = document.getElementById('btn_show_all');
 | 
				
			||||||
 | 
					        const btnShowNone = document.getElementById('btn_show_none');
 | 
				
			||||||
 | 
					        const btnShowConcise = document.getElementById('btn_show_concise');
 | 
				
			||||||
 | 
					        const btnShowDefault = document.getElementById('btn_show_default');
 | 
				
			||||||
 | 
					        const btnShowDetailed = document.getElementById('btn_show_detailed');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const btnRefresh = document.getElementById('btn_refresh');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // 复选框
 | 
				
			||||||
 | 
					        const filterCheckbox = document.getElementsByClassName("filter_checkbox");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const showEmoticon = document.getElementById("show_emoticon");
 | 
				
			||||||
 | 
					        const showNum = document.getElementById("show_num");
 | 
				
			||||||
 | 
					        const showCategory = document.getElementById("show_category");
 | 
				
			||||||
 | 
					        const showOnboardTime = document.getElementById("show_onboard_time");
 | 
				
			||||||
 | 
					        const showIsNew = document.getElementById("show_is_new");
 | 
				
			||||||
 | 
					        const showDetail = document.getElementById("show_detail");
 | 
				
			||||||
 | 
					        const showMid = document.getElementById("show_mid");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        const autoRefresh = document.getElementById("auto_refresh");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // 绑定按钮点击事件
 | 
				
			||||||
 | 
					        btnShowAll.addEventListener('click', function () {
 | 
				
			||||||
 | 
					            for (let i = 0; i < filterCheckbox.length; i++) {
 | 
				
			||||||
 | 
					                const element = filterCheckbox[i];
 | 
				
			||||||
 | 
					                element.checked = true;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            render();
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        btnShowNone.addEventListener('click', function () {
 | 
				
			||||||
 | 
					            for (let i = 0; i < filterCheckbox.length; i++) {
 | 
				
			||||||
 | 
					                const element = filterCheckbox[i];
 | 
				
			||||||
 | 
					                element.checked = false;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            render();
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        btnShowConcise.addEventListener('click', function () {
 | 
				
			||||||
 | 
					            for (let i = 0; i < filterCheckbox.length; i++) {
 | 
				
			||||||
 | 
					                const element = filterCheckbox[i];
 | 
				
			||||||
 | 
					                element.checked = element.getAttribute('concise-checked') === 'true';
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            render();
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        btnShowDefault.addEventListener('click', function () {
 | 
				
			||||||
 | 
					            for (let i = 0; i < filterCheckbox.length; i++) {
 | 
				
			||||||
 | 
					                const element = filterCheckbox[i];
 | 
				
			||||||
 | 
					                element.checked = element.getAttribute('checked') === 'true';
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            render();
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        btnShowDetailed.addEventListener('click', function () {
 | 
				
			||||||
 | 
					            for (let i = 0; i < filterCheckbox.length; i++) {
 | 
				
			||||||
 | 
					                const element = filterCheckbox[i];
 | 
				
			||||||
 | 
					                element.checked = element.getAttribute('detailed-checked') === 'true';
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            render();
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        btnRefresh.onclick = function () {
 | 
				
			||||||
 | 
					            getData();
 | 
				
			||||||
 | 
					            document.getElementById("update-finish-info").style.display = "";
 | 
				
			||||||
 | 
					            // btnRefresh.style.display = "none";
 | 
				
			||||||
 | 
					            btnRefresh.style.visibility = "hidden";
 | 
				
			||||||
 | 
					            setTimeout(function () {
 | 
				
			||||||
 | 
					                document.getElementById("update-finish-info").style.display = "none";
 | 
				
			||||||
 | 
					                // btnRefresh.style.display = "";
 | 
				
			||||||
 | 
					                btnRefresh.style.visibility = "";
 | 
				
			||||||
 | 
					            }, 1000);
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // 绑定复选框改变事件
 | 
				
			||||||
 | 
					        for (let i = 0; i < filterCheckbox.length; i++) {
 | 
				
			||||||
 | 
					            // console.log(filterCheckbox[i]);
 | 
				
			||||||
 | 
					            filterCheckbox[i].onchange = function () {
 | 
				
			||||||
 | 
					                render();
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        let autoRefreshIntreval = null;
 | 
				
			||||||
 | 
					        const autoRefreshCountDownElement = document.getElementById('auto_refresh_countdown');
 | 
				
			||||||
 | 
					        const countDown = 20; // 自动拉取间隔时间,单位:秒
 | 
				
			||||||
 | 
					        let autoRefreshCountDown = countDown;
 | 
				
			||||||
 | 
					        autoRefresh.onchange = function () {
 | 
				
			||||||
 | 
					            if (autoRefresh.checked) {
 | 
				
			||||||
 | 
					                btnRefresh.style.display = "none";
 | 
				
			||||||
 | 
					                btnRefresh.click();
 | 
				
			||||||
 | 
					                autoRefreshIntreval = setInterval(function () {
 | 
				
			||||||
 | 
					                    if ((--autoRefreshCountDown) > 0) {
 | 
				
			||||||
 | 
					                        autoRefreshCountDownElement.innerHTML = `(${autoRefreshCountDown}s)`;
 | 
				
			||||||
 | 
					                    } else {
 | 
				
			||||||
 | 
					                        autoRefreshCountDown = countDown;
 | 
				
			||||||
 | 
					                        btnRefresh.click();
 | 
				
			||||||
 | 
					                        autoRefreshCountDownElement.innerHTML = ``;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }, 1000);
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                clearInterval(autoRefreshIntreval);
 | 
				
			||||||
 | 
					                btnRefresh.style.display = "";
 | 
				
			||||||
 | 
					                autoRefreshCountDownElement.innerHTML = ``;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // 根据屏幕判断要显示哪些字段
 | 
				
			||||||
 | 
					        // 此时还未拉取数据,所以进入 render 函数会直接返回,不会多次渲染
 | 
				
			||||||
 | 
					        let initWidth = document.body.offsetWidth;
 | 
				
			||||||
 | 
					        // console.log(initWidth);
 | 
				
			||||||
 | 
					        /* if (initWidth < 400) {
 | 
				
			||||||
 | 
					            btnShowNone.click();
 | 
				
			||||||
 | 
					            btnShowNone.innerHTML += "(默认)";
 | 
				
			||||||
 | 
					        } else */ if (initWidth < 600) {
 | 
				
			||||||
 | 
					            btnShowConcise.click();
 | 
				
			||||||
 | 
					            btnShowConcise.innerHTML += "(默认)";
 | 
				
			||||||
 | 
					        } else if (initWidth < 1900) {
 | 
				
			||||||
 | 
					            btnShowDefault.click();
 | 
				
			||||||
 | 
					            btnShowDefault.innerHTML += "(默认)";
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            btnShowDetailed.click();
 | 
				
			||||||
 | 
					            btnShowDetailed.innerHTML += "(默认)";
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // 网页加载后加载榜单
 | 
				
			||||||
 | 
					        getData();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        // 定时刷新
 | 
				
			||||||
 | 
					        // setInterval(getData, 10 * 1000);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function getData() {
 | 
				
			||||||
 | 
					            var xhr = new XMLHttpRequest();
 | 
				
			||||||
 | 
					            xhr.open("GET", "../data/weibo-hotband/latest.json?t=" + Date.now(), true);
 | 
				
			||||||
 | 
					            xhr.send();
 | 
				
			||||||
 | 
					            xhr.onreadystatechange = function () {
 | 
				
			||||||
 | 
					                if (xhr.readyState !== 4) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (xhr.status == 200) {
 | 
				
			||||||
 | 
					                    try {
 | 
				
			||||||
 | 
					                        hotBandData = JSON.parse(xhr.responseText);
 | 
				
			||||||
 | 
					                        if (!hotBandData.data || typeof hotBandData.data !== 'object')
 | 
				
			||||||
 | 
					                            throw new Error("data is undefined or not an object");
 | 
				
			||||||
 | 
					                    } catch (e) {
 | 
				
			||||||
 | 
					                        console.error("[error]", "\n", e, "\n", "\n", "[xhr.responseText]", "\n", xhr.responseText);
 | 
				
			||||||
 | 
					                        alert("latest.json 文件解析失败,请检查文件");
 | 
				
			||||||
 | 
					                        return;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    console.log(hotBandData);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    // 更新时间
 | 
				
			||||||
 | 
					                    document.getElementById("latestUpdateTime").innerHTML =
 | 
				
			||||||
 | 
					                        "数据拉取时间:" + new Date().toLocaleString() + "<br/>" +
 | 
				
			||||||
 | 
					                        "热榜更新时间:" + new Date(hotBandData.update_time).toLocaleString();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    // 渲染榜单
 | 
				
			||||||
 | 
					                    render();
 | 
				
			||||||
 | 
					                } else if (xhr.status == 404) {
 | 
				
			||||||
 | 
					                    alert("data 目录下未找到 latest.json 文件,可能的原因:\n您还没有运行脚本拉取数据,请先运行脚本,然后刷新页面");
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        function render() {
 | 
				
			||||||
 | 
					            if (!hotBandData) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            /**
 | 
				
			||||||
 | 
					             * 渲染热搜列表
 | 
				
			||||||
 | 
					             */
 | 
				
			||||||
 | 
					            let hotBandList = hotBandData.data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var str = [];
 | 
				
			||||||
 | 
					            // 渲染表格
 | 
				
			||||||
 | 
					            str.push(`<thead>
 | 
				
			||||||
 | 
					                <tr class="thead" style="top: 0; background-color: white; position: sticky;">
 | 
				
			||||||
 | 
					                    <td>编号</td>
 | 
				
			||||||
 | 
					                    <td>热搜</td>
 | 
				
			||||||
 | 
					                    ${showEmoticon.checked ? "<td>表情</td>" : ""}
 | 
				
			||||||
 | 
					                    ${showNum.checked ? '<td>热度<br/><span style="font-size: 10px;">(展示/真实)</span></td>' : ""}
 | 
				
			||||||
 | 
					                    ${showCategory.checked ? "<td>分类</td>" : ""}
 | 
				
			||||||
 | 
					                    ${showOnboardTime.checked ? "<td>上线时间</td>" : ""}
 | 
				
			||||||
 | 
					                    ${showIsNew.checked ? "<td>是否新热搜</td>" : ""}
 | 
				
			||||||
 | 
					                    ${showDetail.checked ? "<td>热搜详情</td>" : ""}
 | 
				
			||||||
 | 
					                    ${showMid.checked ? "<td>mid</td>" : ""}
 | 
				
			||||||
 | 
					                </tr>
 | 
				
			||||||
 | 
					            </thead>`);
 | 
				
			||||||
 | 
					            str.push(`<tbody>`);
 | 
				
			||||||
 | 
					            for (var i = 0; i < hotBandList.length; i++) {
 | 
				
			||||||
 | 
					                const hotBand = hotBandList[i];
 | 
				
			||||||
 | 
					                let hotDelta = hotBand.num - hotBand.raw_hot;
 | 
				
			||||||
 | 
					                str.push(`<tr>
 | 
				
			||||||
 | 
					                    <!-- 编号 -->
 | 
				
			||||||
 | 
					                    <td>${i + 1}</td>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    <!-- 热搜 -->
 | 
				
			||||||
 | 
					                    <td style="text-align: left; font-size: 14px;">
 | 
				
			||||||
 | 
					                        <nobr>
 | 
				
			||||||
 | 
					                            <div style="min-width: 20px; display: inline-block;">
 | 
				
			||||||
 | 
					                                <span class="hotband-label" style="background-color: ${hotBand.more.icon_desc_color};">${hotBand.label_name}</span>
 | 
				
			||||||
 | 
					                            </div>
 | 
				
			||||||
 | 
					                            <a href="${hotBand.url}" target="_blank">${hotBand.word}</a>
 | 
				
			||||||
 | 
					                        </nobr>
 | 
				
			||||||
 | 
					                    </td>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    ${showEmoticon.checked ? `
 | 
				
			||||||
 | 
					                    <!-- 表情 -->
 | 
				
			||||||
 | 
					                    <td>${hotBand.emoticon}</td>
 | 
				
			||||||
 | 
					                    ` : ""}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    ${showNum.checked ? `
 | 
				
			||||||
 | 
					                    <!-- 热度 -->
 | 
				
			||||||
 | 
					                    <td style="line-height: 12px;">
 | 
				
			||||||
 | 
					                        <nobr><span style="font-size: 14px;">${hotDelta == 0 ? hotBand.num : `${hotBand.num} / ${hotBand.raw_hot}`}</span></nobr><br/>
 | 
				
			||||||
 | 
					                        <nobr>
 | 
				
			||||||
 | 
					                            <span style="font-size: 10px; color: ${hotDelta > 0 ? "red" : "green"}; font-weight: bold;">
 | 
				
			||||||
 | 
					                                ${hotDelta != 0 ? `(官方调控 ${hotDelta > 0 ? "+" : ""}${hotDelta})` : ""}
 | 
				
			||||||
 | 
					                            </span>
 | 
				
			||||||
 | 
					                        </nobr>
 | 
				
			||||||
 | 
					                    </td>
 | 
				
			||||||
 | 
					                    ` : ""}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    ${showCategory.checked ? `
 | 
				
			||||||
 | 
					                    <!-- 分类 -->
 | 
				
			||||||
 | 
					                    <td style="font-size: 10px;">${hotBand.category.map((c) => `<nobr>${c}</nobr>`).join(';')}</td>
 | 
				
			||||||
 | 
					                    ` : ""}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    ${showOnboardTime.checked ? `
 | 
				
			||||||
 | 
					                    <!-- 热搜上线时间 -->
 | 
				
			||||||
 | 
					                    <td style="font-size: 10px;">${new Date(hotBand.onboard_time * 1000).toLocaleString()}</td>
 | 
				
			||||||
 | 
					                    ` : ""}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    ${showIsNew.checked ? `
 | 
				
			||||||
 | 
					                    <!-- 是否新热搜 -->
 | 
				
			||||||
 | 
					                    <td>${hotBand.more.is_new == 1 ? "是" : ""}</td>
 | 
				
			||||||
 | 
					                    ` : ""}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    ${showDetail.checked ? `
 | 
				
			||||||
 | 
					                    <!-- 热搜详情 -->
 | 
				
			||||||
 | 
					                    <td>
 | 
				
			||||||
 | 
					                        <div style="font-size:10px; max-width: 300px; display: inline-block;">${hotBand.more.detail}</div>
 | 
				
			||||||
 | 
					                    </td>
 | 
				
			||||||
 | 
					                    ` : ""}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    ${showMid.checked ? `
 | 
				
			||||||
 | 
					                    <!-- mid -->
 | 
				
			||||||
 | 
					                    <td style="font-size: 14px;">${hotBand.more.mid}</td>
 | 
				
			||||||
 | 
					                    ` : ""}
 | 
				
			||||||
 | 
					                </tr >`);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            str.push(`</tbody>`);
 | 
				
			||||||
 | 
					            document.getElementById('list').innerHTML = str.join('');
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    </script>
 | 
				
			||||||
 | 
					</body>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</html>
 | 
				
			||||||
							
								
								
									
										16
									
								
								index.html
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								index.html
									
									
									
									
									
								
							@@ -39,7 +39,6 @@
 | 
				
			|||||||
            background-color: #fdfdfd;
 | 
					            background-color: #fdfdfd;
 | 
				
			||||||
            box-shadow: 0 -2px 10px 0 rgb(0 0 0 / 10%);
 | 
					            box-shadow: 0 -2px 10px 0 rgb(0 0 0 / 10%);
 | 
				
			||||||
            display: grid;
 | 
					            display: grid;
 | 
				
			||||||
            grid-template-columns: repeat(2, 1fr);
 | 
					 | 
				
			||||||
            place-items: center;
 | 
					            place-items: center;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -73,18 +72,24 @@
 | 
				
			|||||||
        <div id="iframe-container">
 | 
					        <div id="iframe-container">
 | 
				
			||||||
            <!-- <iframe src="html/weibo.html" frameborder="0"></iframe> -->
 | 
					            <!-- <iframe src="html/weibo.html" frameborder="0"></iframe> -->
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <div id="float-container" class="bt">
 | 
					        <div id="float-container" class="bt" style="grid-template-columns: repeat(3, 1fr);">
 | 
				
			||||||
            <div class="navbar-item" targetPage="weibo_hotband">
 | 
					            <div class="navbar-item" targetPage="weibo_hotband">
 | 
				
			||||||
                <img class="navbar-image" src="./html/assets/image/weibo.svg" />
 | 
					                <img class="navbar-image" src="./html/assets/image/weibo.svg" />
 | 
				
			||||||
                <p class="navbar-title">微博</p>
 | 
					                <p class="navbar-title">微博热搜</p>
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
 | 
					            <div class="navbar-item" targetPage="bilibili_rank">
 | 
				
			||||||
 | 
					                <img class="navbar-image" src="./html/assets/image/icon_rank.png" />
 | 
				
			||||||
 | 
					                <p class="navbar-title">B站排行</p>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
            <div class="navbar-item" targetPage="bilibili_hotband">
 | 
					            <div class="navbar-item" targetPage="bilibili_hotband">
 | 
				
			||||||
                <img class="navbar-image" src="./html/assets/image/bilibili.svg" style="transform: scale(0.84);" />
 | 
					                <img class="navbar-image" src="./html/assets/image/bilibili.svg" style="transform: scale(0.87);" />
 | 
				
			||||||
                <p class="navbar-title">B站</p>
 | 
					                <p class="navbar-title">B站热搜</p>
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
    <script>
 | 
					    <script>
 | 
				
			||||||
 | 
					        let pages = ['weibo_hotband', 'bilibili_rank', 'bilibili_hotband'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let navbarItems = document.querySelectorAll('.navbar-item');
 | 
					        let navbarItems = document.querySelectorAll('.navbar-item');
 | 
				
			||||||
        let iframeContainer = document.querySelector('#iframe-container');
 | 
					        let iframeContainer = document.querySelector('#iframe-container');
 | 
				
			||||||
        let iframe = document.querySelector('iframe');
 | 
					        let iframe = document.querySelector('iframe');
 | 
				
			||||||
@@ -123,7 +128,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        // 根据 URL 参数切换页面
 | 
					        // 根据 URL 参数切换页面
 | 
				
			||||||
        function locationToPageByUrlParam() {
 | 
					        function locationToPageByUrlParam() {
 | 
				
			||||||
            let pages = ['weibo_hotband', 'bilibili_hotband'];
 | 
					 | 
				
			||||||
            // 获取 url 中的 target 参数
 | 
					            // 获取 url 中的 target 参数
 | 
				
			||||||
            let url = new URL(window.location.href);
 | 
					            let url = new URL(window.location.href);
 | 
				
			||||||
            let target = url.searchParams.get('target');
 | 
					            let target = url.searchParams.get('target');
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user