六六歌實錄
+把懸念、試探與哭點縫在同一條時間軸上;很多人第一次真正把「水晶男孩」打進搜尋框,就是從這種瘋狂的剪輯節奏開始。
+ +diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_01.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_01.jpg new file mode 100644 index 0000000..5334636 Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_01.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_02.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_02.jpg new file mode 100644 index 0000000..19b4934 Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_02.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_03.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_03.jpg new file mode 100644 index 0000000..89e4e9f Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_03.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_04.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_04.jpg new file mode 100644 index 0000000..8537e6c Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_04.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_05.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_05.jpg new file mode 100644 index 0000000..bbae847 Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_05.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_06.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_06.jpg new file mode 100644 index 0000000..eb3a3a7 Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_06.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_07.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_07.jpg new file mode 100644 index 0000000..98e0b62 Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_07.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_08.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_08.jpg new file mode 100644 index 0000000..9a92faa Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_08.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_09.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_09.jpg new file mode 100644 index 0000000..55c240b Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_09.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_10.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_10.jpg new file mode 100644 index 0000000..0ee9928 Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_10.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_11.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_11.jpg new file mode 100644 index 0000000..5f13994 Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_11.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_12.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_12.jpg new file mode 100644 index 0000000..8af9a5c Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_12.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_13.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_13.jpg new file mode 100644 index 0000000..8110a6c Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_13.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_14.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_14.jpg new file mode 100644 index 0000000..9af9503 Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_14.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_15.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_15.jpg new file mode 100644 index 0000000..9dd2bea Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_15.jpg differ diff --git a/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_16.jpg b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_16.jpg new file mode 100644 index 0000000..62a4e17 Binary files /dev/null and b/assets/images/totoga2/jpg/2023_電子書_無限挑戰六六歌2_final跨頁_頁面_16.jpg differ diff --git a/assets/js/totoga2.js b/assets/js/totoga2.js index a9281f6..df8f7d9 100644 --- a/assets/js/totoga2.js +++ b/assets/js/totoga2.js @@ -3,30 +3,26 @@ const hubPanels = Array.from(document.querySelectorAll("[data-totoga-panel]")); function setHubPanel(name) { + if (!hubButtons.length || !hubPanels.length) return; hubButtons.forEach((btn) => btn.classList.toggle("active", btn.dataset.totogaHub === name)); hubPanels.forEach((panel) => { panel.hidden = panel.dataset.totogaPanel !== name; }); } - hubButtons.forEach((btn) => { - btn.addEventListener("click", () => setHubPanel(btn.dataset.totogaHub)); - }); - const reader = document.getElementById("totoga2-reader"); - if (!reader) return; - - const chapters = Array.from(reader.querySelectorAll(".chronicle-chapter")); + const chapters = reader ? Array.from(reader.querySelectorAll(".chronicle-chapter")) : []; const modeButtons = Array.from(document.querySelectorAll("[data-totoga-reader-mode]")); const pager = document.getElementById("totoga2-pager"); const prevBtn = document.getElementById("totoga2-prev"); const nextBtn = document.getElementById("totoga2-next"); const indicator = document.getElementById("totoga2-chapter-indicator"); - if (!pager || !prevBtn || !nextBtn || !indicator) return; + const hasPager = Boolean(pager && prevBtn && nextBtn && indicator); let currentIndex = 0; function updatePagedView() { + if (!hasPager) return; chapters.forEach((chapter, index) => { chapter.style.display = index === currentIndex ? "" : "none"; chapter.classList.toggle("active", index === currentIndex); @@ -37,13 +33,14 @@ } function setReaderMode(mode) { + if (!reader) return; reader.dataset.mode = mode; modeButtons.forEach((btn) => btn.classList.toggle("active", btn.dataset.totogaReaderMode === mode)); - if (mode === "paged") { + if (mode === "paged" && hasPager) { pager.hidden = false; updatePagedView(); } else { - pager.hidden = true; + if (pager) pager.hidden = true; chapters.forEach((chapter) => { chapter.style.display = ""; chapter.classList.remove("active"); @@ -55,37 +52,48 @@ button.addEventListener("click", () => setReaderMode(button.dataset.totogaReaderMode)); }); - prevBtn.addEventListener("click", () => { - if (currentIndex > 0) { - currentIndex -= 1; - updatePagedView(); - } - }); + if (hasPager) { + prevBtn.addEventListener("click", () => { + if (currentIndex > 0) { + currentIndex -= 1; + updatePagedView(); + } + }); - nextBtn.addEventListener("click", () => { - if (currentIndex < chapters.length - 1) { - currentIndex += 1; - updatePagedView(); - } - }); + nextBtn.addEventListener("click", () => { + if (currentIndex < chapters.length - 1) { + currentIndex += 1; + updatePagedView(); + } + }); + } - const initialHub = - hubButtons.find((b) => b.classList.contains("active"))?.dataset.totogaHub || - hubButtons[0]?.dataset.totogaHub || - "video"; - setHubPanel(initialHub); - setReaderMode("scroll"); + if (hubButtons.length > 0) { + const initialHub = + hubButtons.find((b) => b.classList.contains("active"))?.dataset.totogaHub || + hubButtons[0]?.dataset.totogaHub || + "video"; + setHubPanel(initialHub); + } else { + hubPanels.forEach((panel) => { + panel.hidden = false; + }); + } + + if (reader) { + setReaderMode("scroll"); + } function applyLocationHashNavigation() { const hash = (location.hash || "").slice(1); - if (hash === "ebook") { + if (hash === "ebook" && hubButtons.length > 0) { setHubPanel("ebook"); return; } if (hash && document.getElementById(hash)) { - setHubPanel("reader"); + if (hubButtons.length > 0) setHubPanel("reader"); setReaderMode("scroll"); - pager.hidden = true; + if (pager) pager.hidden = true; requestAnimationFrame(() => { document.getElementById(hash)?.scrollIntoView({ behavior: "smooth", block: "start" }); }); diff --git a/extra/Untitled-1.html b/extra/Untitled-1.html new file mode 100644 index 0000000..592b4a3 --- /dev/null +++ b/extra/Untitled-1.html @@ -0,0 +1,46 @@ + + + +
+ + +
+
+ 以下為 Bilibili 嵌入播放器(16:9)。若無法播放,請至站內搜尋同一 BV 號;中集、下集請將 iframe 的 bvid 換成你的分集連結。
+
預設與上集同一支;請替換 bvid 為中集 BV。
預設與上集同一支;請替換 bvid 為下集 BV。
+ 以下為《無限挑戰》六六歌2 相關跨頁電子書(FlipHTML5)。若載入較慢,請稍候或重新整理;全螢幕閱讀請使用閱讀器內建控制項。 +
++ 與首頁相同的節點提要;點下方連結可跳到本頁「紀實長文」對應章節(八章皆在本頁,無需另開檔案)。 +
+ +把懸念、試探與哭點縫在同一條時間軸上;很多人第一次真正把「水晶男孩」打進搜尋框,就是從這種瘋狂的剪輯節奏開始。
+ +KTV、游擊演唱會規則、與其說講道理不如說把真心擺上桌面——交涉的不是合約字面,而是還願不願意再一次肩並肩。
+ +變數一個個被排除之後,驚喜接上登場段落;缺一角舞台的視覺,終於對齊觀眾席上堅守的那片黃。
+ +急凍、告別、各自的跑道——並不是要你沉浸遺憾,而是讓你懂:後來每一次亮燈,為什麼會更值得尖叫。
+ +《無限挑戰》是韓國綜藝史上指標性的真人秀節目。「星期六星期六是歌手(六六歌)」企劃,成為水晶男孩 2016 回歸舞台的關鍵起點。
+第一季掀起 90 年代懷舊熱潮,雖然水晶男孩未能完整出演,卻留下「總有一天要六人完整回到舞台」的遺憾伏筆。
+第二季改成「為單一團體打造完整回歸敘事」,保密層級更高,連主持群都縮小到劉在錫與 HAHA,避免消息提前走漏。
+從開場的復古裝扮、試探式線索到真正揭曉團體身份,節目節奏在搞笑與懸念間拉開這場 16 年重逢序章。
+1997 出道後迅速登頂,與同世代頂流並列,短短三年創下極高銷量與舞台紀錄,卻在 2000 無預警解散,留下集體創傷。
+16 年間六人從未以水晶男孩名義完整合體,這次企劃不只是回憶,而是回應當年未說完的離別。
+製作組先與隊長殷志源交涉,再透過隱藏攝影機確認成員意願。大家都希望重組,卻同時知道最困難的拼圖是離開演藝圈多年的高志溶。
+這個階段的重點不是舞台,而是「願不願意再次站在一起」的心理門檻。
+主持人與成員深度對話,回顧解散緣由、舞台記憶、KTV 挑戰與游擊演唱會規則。笑鬧之間,團魂逐漸浮現。
+同時,節目也把高志溶議題正式擺上檯面:如果不是完整體,這次回歸是否還成立?
+排練期間接連出現傷病、手術需求與消息外流,原本理想的游擊演唱會計畫屢次被迫改寫,團隊陷入 B 計畫陰影。
+在體力與心理都被拉到極限的情況下,成員仍選擇撐住,只為把久違舞台交回給等待 16 年的小黃。
+當所有人幾乎接受「不完整」時,節目仍悄悄推進最後安排。高志溶與成員的情感張力在此段達到最高點。
+這份驚喜不是綜藝反轉,而是把六顆水晶的空位真正填回舞台。
+眼罩揭開後,滿場黃海與哭聲同時湧現。從《請記得我》到安可,《離別曲》在那一晚變成了「重逢證詞」。
+2000 的缺憾,在 2016 終於補上。這一頁不是結束,而是團體與粉絲共同完成的回歸章節。
++ 回到首頁 · 傳奇的轉折 + 同頁 · 電子書全螢幕 +
+ + + + + + + + + diff --git a/extra/totoga2.html b/extra/totoga2.html index 26e07fa..1cdd45b 100644 --- a/extra/totoga2.html +++ b/extra/totoga2.html @@ -8,12 +8,116 @@ +
- 以下為 Bilibili 嵌入播放器(16:9)。若無法播放,請至站內搜尋同一 BV 號;中集、下集請將 iframe 的 bvid 換成你的分集連結。
-
預設與上集同一支;請替換 bvid 為中集 BV。
預設與上集同一支;請替換 bvid 為下集 BV。
- 以下為《無限挑戰》六六歌2 相關跨頁電子書(FlipHTML5)。若載入較慢,請稍候或重新整理;全螢幕閱讀請使用閱讀器內建控制項。 -
-《無限挑戰》是韓國綜藝史上指標性的真人秀節目。「星期六星期六是歌手(六六歌)」企劃,成為水晶男孩 2016 回歸舞台的關鍵起點。
+第一季掀起 90 年代懷舊熱潮,雖然水晶男孩未能完整出演,卻留下「總有一天要六人完整回到舞台」的遺憾伏筆。
+ -- 與首頁相同的節點提要;點下方連結可跳到本頁「紀實長文」對應章節(八章皆在本頁,無需另開檔案)。 -
+第二季改成「為單一團體打造完整回歸敘事」,保密層級更高,連主持群都縮小到劉在錫與 HAHA,避免消息提前走漏。
+從開場的復古裝扮、試探式線索到真正揭曉團體身份,節目節奏在搞笑與懸念間拉開這場 16 年重逢序章。
+把懸念、試探與哭點縫在同一條時間軸上;很多人第一次真正把「水晶男孩」打進搜尋框,就是從這種瘋狂的剪輯節奏開始。
- -KTV、游擊演唱會規則、與其說講道理不如說把真心擺上桌面——交涉的不是合約字面,而是還願不願意再一次肩並肩。
- -變數一個個被排除之後,驚喜接上登場段落;缺一角舞台的視覺,終於對齊觀眾席上堅守的那片黃。
- -急凍、告別、各自的跑道——並不是要你沉浸遺憾,而是讓你懂:後來每一次亮燈,為什麼會更值得尖叫。
- -1997 出道後迅速登頂,與同世代頂流並列,短短三年創下極高銷量與舞台紀錄,卻在 2000 無預警解散,留下集體創傷。
+16 年間六人從未以水晶男孩名義完整合體,這次企劃不只是回憶,而是回應當年未說完的離別。
+製作組先與隊長殷志源交涉,再透過隱藏攝影機確認成員意願。大家都希望重組,卻同時知道最困難的拼圖是離開演藝圈多年的高志溶。
+這個階段的重點不是舞台,而是「願不願意再次站在一起」的心理門檻。
+《無限挑戰》是韓國綜藝史上指標性的真人秀節目。「星期六星期六是歌手(六六歌)」企劃,成為水晶男孩 2016 回歸舞台的關鍵起點。
-第一季掀起 90 年代懷舊熱潮,雖然水晶男孩未能完整出演,卻留下「總有一天要六人完整回到舞台」的遺憾伏筆。
-主持人與成員深度對話,回顧解散緣由、舞台記憶、KTV 挑戰與游擊演唱會規則。笑鬧之間,團魂逐漸浮現。
+同時,節目也把高志溶議題正式擺上檯面:如果不是完整體,這次回歸是否還成立?
+第二季改成「為單一團體打造完整回歸敘事」,保密層級更高,連主持群都縮小到劉在錫與 HAHA,避免消息提前走漏。
-從開場的復古裝扮、試探式線索到真正揭曉團體身份,節目節奏在搞笑與懸念間拉開這場 16 年重逢序章。
-排練期間接連出現傷病、手術需求與消息外流,原本理想的游擊演唱會計畫屢次被迫改寫,團隊陷入 B 計畫陰影。
+在體力與心理都被拉到極限的情況下,成員仍選擇撐住,只為把久違舞台交回給等待 16 年的小黃。
+1997 出道後迅速登頂,與同世代頂流並列,短短三年創下極高銷量與舞台紀錄,卻在 2000 無預警解散,留下集體創傷。
-16 年間六人從未以水晶男孩名義完整合體,這次企劃不只是回憶,而是回應當年未說完的離別。
-當所有人幾乎接受「不完整」時,節目仍悄悄推進最後安排。高志溶與成員的情感張力在此段達到最高點。
+這份驚喜不是綜藝反轉,而是把六顆水晶的空位真正填回舞台。
+製作組先與隊長殷志源交涉,再透過隱藏攝影機確認成員意願。大家都希望重組,卻同時知道最困難的拼圖是離開演藝圈多年的高志溶。
-這個階段的重點不是舞台,而是「願不願意再次站在一起」的心理門檻。
-主持人與成員深度對話,回顧解散緣由、舞台記憶、KTV 挑戰與游擊演唱會規則。笑鬧之間,團魂逐漸浮現。
-同時,節目也把高志溶議題正式擺上檯面:如果不是完整體,這次回歸是否還成立?
-排練期間接連出現傷病、手術需求與消息外流,原本理想的游擊演唱會計畫屢次被迫改寫,團隊陷入 B 計畫陰影。
-在體力與心理都被拉到極限的情況下,成員仍選擇撐住,只為把久違舞台交回給等待 16 年的小黃。
-當所有人幾乎接受「不完整」時,節目仍悄悄推進最後安排。高志溶與成員的情感張力在此段達到最高點。
-這份驚喜不是綜藝反轉,而是把六顆水晶的空位真正填回舞台。
-眼罩揭開後,滿場黃海與哭聲同時湧現。從《請記得我》到安可,《離別曲》在那一晚變成了「重逢證詞」。
-2000 的缺憾,在 2016 終於補上。這一頁不是結束,而是團體與粉絲共同完成的回歸章節。
-眼罩揭開後,滿場黃海與哭聲同時湧現。從《請記得我》到安可,《離別曲》在那一晚變成了「重逢證詞」。
+2000 的缺憾,在 2016 終於補上。這一頁不是結束,而是團體與粉絲共同完成的回歸章節。
+