{"id":2577,"date":"2026-08-07T10:42:46","date_gmt":"2026-08-07T02:42:46","guid":{"rendered":"https:\/\/ytubage.com\/?page_id=2577"},"modified":"2026-08-07T11:47:41","modified_gmt":"2026-08-07T03:47:41","slug":"xn","status":"publish","type":"page","link":"https:\/\/ytubage.com\/index.php\/mxsp\/dsjc\/xn\/","title":{"rendered":"\u96ea\u5a18"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"zh-CN\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>zztv \u591a\u96c6\u8fde\u64ad\u7ad9<\/title>\n    <style>\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n            font-family: \"PingFang SC\", \"Microsoft Yahei\", sans-serif;\n        }\n        body {\n            background-color: #f7f3ed;\n            color: #333;\n        }\n        header {\n            background: linear-gradient(135deg, #7a2f56 0%, #c9a33a 100%);\n            padding: 18px 4%;\n            color: #fff;\n        }\n        .site-brand {\n            font-size: 26px;\n            font-weight: bold;\n            margin-bottom: 8px;\n        }\n        .play-main-box {\n            display: flex;\n            gap: 20px;\n            max-width: 1400px;\n            margin: 25px auto;\n            padding: 0 4%;\n        }\n        \/* \u4e3b\u64ad\u653e\u533a\u57df *\/\n        .player-area {\n            flex: 1;\n        }\n        .main-video {\n            width: 100%;\n            aspect-ratio: 16\/9;\n            background-color: #000;\n            border-radius: 10px;\n        }\n        .play-info {\n            margin-top: 18px;\n        }\n        .play-title {\n            font-size: 20px;\n            color: #7a2f56;\n            font-weight: bold;\n            margin-bottom: 10px;\n        }\n        \/* \u9009\u96c6\u4fa7\u8fb9\u680f *\/\n        .episode-sidebar {\n            width: 320px;\n            background-color: #fff;\n            border-radius: 10px;\n            box-shadow: 0 2px 12px rgba(0,0,0,0.08);\n            padding: 20px;\n            height: fit-content;\n        }\n        .sidebar-title {\n            font-size: 18px;\n            font-weight: bold;\n            border-left: 4px solid #c9a33a;\n            padding-left: 10px;\n            margin-bottom: 15px;\n        }\n        .current-drama-name {\n            font-size: 16px;\n            color: #7a2f56;\n            margin-bottom: 12px;\n            font-weight: 500;\n        }\n        .episode-grid {\n            display: grid;\n            grid-template-columns: repeat(5, 1fr);\n            gap: 10px;\n            max-height: 500px;\n            overflow-y: auto;\n            padding-right: 5px;\n        }\n        .ep-item {\n            background-color: #f0f0f0;\n            border: none;\n            padding: 8px;\n            border-radius: 6px;\n            cursor: pointer;\n            transition: 0.2s all;\n            text-align: center;\n        }\n        .ep-item.active {\n            background-color: #7a2f56;\n            color: #fff;\n        }\n        .ep-item:hover {\n            background-color: #c9a33a;\n            color: #fff;\n        }\n        footer {\n            text-align: center;\n            padding: 25px;\n            margin-top: 40px;\n            color: #777;\n            border-top: 1px solid #eee;\n        }\n        \/* \u79fb\u52a8\u7aef\u9002\u914d *\/\n        @media (max-width: 992px) {\n            .play-main-box {\n                flex-direction: column;\n            }\n            .episode-sidebar {\n                width: 100%;\n            }\n        }\n    <\/style>\n<\/head>\n<body>\n    <header>\n        <div class=\"site-brand\">zztv<\/div>\n    <\/header>\n    <div class=\"play-main-box\">\n        <div class=\"player-area\">\n            <video id=\"mainVideo\" class=\"main-video\" controls>\n                \u60a8\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u89c6\u9891\u64ad\u653e\n            <\/video>\n            <div class=\"play-info\">\n                <h2 class=\"play-title\" id=\"nowPlaying\">\u6b63\u5728\u64ad\u653e\uff1a\u96ea\u5a18 \u7b2c1\u96c6<\/h2>\n                <p>\u672c\u7ad9\u5b8c\u6574\u6536\u5f55\u8d75\u96c5\u829d\u5168\u7cfb\u5217\u7ecf\u5178\u591a\u96c6\u5267\u96c6\uff0c\u652f\u6301\u81ea\u52a8\u8fde\u64ad\u3001\u89c2\u770b\u8fdb\u5ea6\u8bb0\u5fc6<\/p>\n            <\/div>\n        <\/div>\n        <div class=\"episode-sidebar\">\n            <h3 class=\"sidebar-title\">\u9009\u96c6\u5217\u8868<\/h3>\n            <div class=\"current-drama-name\" id=\"dramaName\">\u5f53\u524d\u5267\u96c6\uff1a\u96ea\u5a18<\/div>\n            <div class=\"episode-grid\" id=\"epList\">\n                <!-- \u96c6\u6570\u6309\u94ae\u5c06\u81ea\u52a8\u901a\u8fc7JS\u751f\u6210 -->\n            <\/div>\n        <\/div>\n    <\/div>\n    <footer>\n        <p>\u7ad9\u70b9\u5f52\u5c5e\uff1a<a href=\"https:\/\/ytubage.com\/index.php\/mxsp\/dsjc\/\">zztv<\/a> \u5154\u516b\u9e3d\u68a6\u5e7b\u5de5\u5382<\/p>\n    <\/footer>\n\n    <script>\n        \/\/ \u914d\u7f6e\u7ad9\u70b9\u5185\u7684\u5267\u96c6\u8d44\u6e90\uff0c\u4f60\u53ef\u4ee5\u7ee7\u7eed\u6dfb\u52a0\u5176\u4ed6\u591a\u96c6\u5267\u96c6\n        const dramaLibrary = {\n            \"\u96ea\u5a18\": {\n                totalEp: 20,\n                baseUrl: \"https:\/\/hkzyzv.ytubage.com\/zyz129\/21-xn\/\"\n            },\n        }\n\n        \/\/ \u5f53\u524d\u64ad\u653e\u5267\u96c6\u9ed8\u8ba4\u8bbe\u7f6e\u4e3a\u65b0\u767d\u5a18\u5b50\u4f20\u5947\n        let currentDrama = \"\u96ea\u5a18\"\n        let currentEp = 1\n        const videoDom = document.getElementById(\"mainVideo\")\n        const epListDom = document.getElementById(\"epList\")\n        const playTitleDom = document.getElementById(\"nowPlaying\")\n\n        \/\/ \u751f\u6210\u672c\u5267\u96c6\u7684\u6240\u6709\u9009\u96c6\u6309\u94ae\n        function renderEpisodeList() {\n            epListDom.innerHTML = \"\"\n            for(let i = 1; i <= dramaLibrary[currentDrama].totalEp; i++) {\n                let epBtn = document.createElement(\"button\")\n                epBtn.className = `ep-item ${i === currentEp ? \"active\" : \"\"}`\n                epBtn.innerText = i\n                epBtn.onclick = () => playEpisode(i)\n                epListDom.appendChild(epBtn)\n            }\n        }\n\n        \/\/ \u5207\u6362\u6307\u5b9a\u96c6\u6570\u64ad\u653e\n        function playEpisode(epNum) {\n            currentEp = epNum\n            \/\/ \u62fc\u63a5\u5bf9\u5e94\u96c6\u6570\u7684\u5b8c\u6574\u89c6\u9891\u5730\u5740\uff0c\u53ef\u6839\u636e\u4f60\u7684\u7ad9\u70b9\u8d44\u6e90\u547d\u540d\u89c4\u5219\u4fee\u6539\u62fc\u63a5\u903b\u8f91\n            videoDom.src = dramaLibrary[currentDrama].baseUrl + `${epNum}.mp4`\n            playTitleDom.innerText = `\u6b63\u5728\u64ad\u653e\uff1a${currentDrama} \u7b2c${epNum}\u96c6`\n            \/\/ \u66f4\u65b0\u9009\u96c6\u6309\u94ae\u7684\u6fc0\u6d3b\u72b6\u6001\n            document.querySelectorAll(\".ep-item\").forEach(btn=>btn.classList.remove(\"active\"))\n            document.querySelectorAll(\".ep-item\")[epNum-1].classList.add(\"active\")\n            \/\/ \u81ea\u52a8\u64ad\u653e\u65b0\u9009\u62e9\u7684\u96c6\u6570\n            videoDom.play()\n            \/\/ \u628a\u5f53\u524d\u64ad\u653e\u8bb0\u5f55\u4fdd\u5b58\u5230\u672c\u5730\u7f13\u5b58\uff0c\u4e0b\u6b21\u6253\u5f00\u81ea\u52a8\u6062\u590d\n            localStorage.setItem(`lastPlay_${currentDrama}`, currentEp)\n        }\n\n        \/\/ \u76d1\u542c\u89c6\u9891\u64ad\u653e\u7ed3\u675f\u4e8b\u4ef6\uff0c\u81ea\u52a8\u64ad\u653e\u4e0b\u4e00\u96c6\n        videoDom.onended = () => {\n            if(currentEp < dramaLibrary[currentDrama].totalEp) {\n                playEpisode(currentEp + 1)\n            } else {\n                alert(\"\u5f53\u524d\u5267\u96c6\u5df2\u7ecf\u5168\u90e8\u64ad\u653e\u5b8c\u6bd5\uff0c\u4f60\u53ef\u4ee5\u5207\u6362\u5176\u4ed6\u5267\u96c6\u7ee7\u7eed\u89c2\u770b~\")\n            }\n        }\n\n        \/\/ \u9875\u9762\u521d\u59cb\u5316\uff1a\u8bfb\u53d6\u4e0a\u6b21\u89c2\u770b\u7684\u8bb0\u5f55\uff0c\u81ea\u52a8\u7eed\u64ad\n        renderEpisodeList()\n        const lastPlayEp = localStorage.getItem(`lastPlay_${currentDrama}`) || 1\n        playEpisode(Number(lastPlayEp))\n    <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>zztv \u591a\u96c6\u8fde\u64ad\u7ad9 zztv \u60a8\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u89c6\u9891\u64ad\u653e \u6b63\u5728\u64ad\u653e\uff1a\u96ea\u5a18 \u7b2c1\u96c6 \u672c\u7ad9\u5b8c\u6574\u6536\u5f55\u8d75\u96c5\u829d\u5168\u7cfb\u5217\u7ecf\u5178 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":593,"menu_order":23,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2577","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ytubage.com\/index.php\/wp-json\/wp\/v2\/pages\/2577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ytubage.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ytubage.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ytubage.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ytubage.com\/index.php\/wp-json\/wp\/v2\/comments?post=2577"}],"version-history":[{"count":3,"href":"https:\/\/ytubage.com\/index.php\/wp-json\/wp\/v2\/pages\/2577\/revisions"}],"predecessor-version":[{"id":2685,"href":"https:\/\/ytubage.com\/index.php\/wp-json\/wp\/v2\/pages\/2577\/revisions\/2685"}],"up":[{"embeddable":true,"href":"https:\/\/ytubage.com\/index.php\/wp-json\/wp\/v2\/pages\/593"}],"wp:attachment":[{"href":"https:\/\/ytubage.com\/index.php\/wp-json\/wp\/v2\/media?parent=2577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}