旅行去

首頁 / 任務入口 / 旅行去
Travel Route / Cyber Glass

旅行

行程規劃、訂房、交通租車、WiFi 與行李寄存、旅行社、機票比價,不是一次丟給你全部,而是先帶你進最適合的旅行路徑。

✓ 官方 / 主平台優先 ▣ 常用旅行平台 🛡 已檢查 ✈️ 出發前任務導向

你現在是哪一種旅行狀態?

先選你的狀態,再走最短的旅行任務路徑。

🗺️

我還在規劃

還沒決定去哪、怎麼排、怎麼移動,先從行程規劃與旅行架構開始。

先看規劃入口
🏨

我準備下訂

已經大致決定目的地,現在要處理訂房、機票、租車或旅行社。

先看預訂入口
🎒

我快出發了

現在重點是補齊 WiFi、寄存、接送、航班確認與旅行周邊任務。

先看出發前入口

先看這三步

旅行頁不是旅遊景點百科,而是幫你縮短出發前的決策路徑。

1

先分辨你在旅程哪個階段

規劃中、準備下訂、快出發,三種狀態看到的入口應該完全不同。

2

先完成主任務

先把訂房、機票、交通這種主任務定下來,再處理 WiFi、寄存與旅行周邊。

3

不要一開始就看完整清單

旅行網站很多,但真正重要的是:現在這一步該進哪一個入口最省時間。

三條主要路徑

先理解差異,再決定你該走哪條旅行路徑。

路徑 A|先做行程規劃

適合還沒決定目的地、天數、交通與住宿邏輯的人,先把旅行框架搭起來。

  • 適合一開始還很散的需求
  • 先決定節奏再選平台
  • 降低後面亂訂的機率

路徑 B|直接進預訂入口

適合已經知道要去哪、要住哪、要怎麼飛的人,重點是快速進主平台完成預訂。

  • 適合已經有明確目的地
  • 先完成住宿 / 機票 / 交通
  • 效率最高

路徑 C|出發前補齊任務

適合已經快出發,只差 WiFi、接送、行李寄存、旅遊周邊與最後確認的人。

  • 適合出發前 1–7 天
  • 補齊旅行缺口
  • 避免臨時手忙腳亂

規劃入口

先把旅程結構理清,再進預訂入口會更順。

行程規劃入口

適合先整理目的地、天數、城市移動順序與旅程節奏,再進入實際預訂。

前往入口

機票比價入口

適合先抓價格區間、班次結構與出發地選項,建立旅行預算感。

前往入口

旅行社入口

適合不想全部自己拆開訂的人,先看跟團、半自由行與套裝式旅遊方案。

前往入口

預訂入口

當你大方向已定,主任務就是先完成這些預訂。

訂房入口

適合找住宿、比較飯店與房型,優先完成旅途中最關鍵的停留點。

查看入口

交通租車入口

適合需要自駕、包車、機場接送或城市移動安排的人。

查看入口

機票比價 / 訂票入口

適合已經進入下訂階段,開始處理出發與返程班次的使用者。

查看入口

出發前入口

快出發時,真正重要的是把最後的小任務補齊。

WiFi / 通訊 / 行李寄存

適合補齊出國或跨城市旅行時最常缺的通訊與寄存需求。

查看入口

旅行周邊入口

適合補齊轉接頭、收納、旅用小物與出門前才會想到的周邊任務。

查看入口

航班與機場資訊

出發前最後確認班機、機場與進出場資訊時,這類入口應該優先放最前面。

查看入口

再往下看

當你需要更完整的旅行入口整理時,再進這些延伸頁。

旅行完整入口地圖

把規劃、訂房、機票、交通、WiFi、寄存與周邊整理成完整旅行地圖。

查看完整入口

出發前任務清單

讓使用者在出發前 3–7 天快速補齊所有旅行前的小任務。

查看主題頁

旅行新手先看版

第一次自己規劃旅行的人,可以先走最簡版路線,再慢慢看完整入口。

查看新手版

霸氣營 (function () { const home = document.querySelector(".camp-home--neo"); if (!home) return; const taskData = [ { title: "生活事務", meta: "主分類|生活工具 / 官方查詢", keywords: ["生活", "生活事務", "郵遞區號", "地址", "英譯", "姓名英譯", "發票", "交通", "查詢"], url: "https://87camp.com/life-tools/" }, { title: "郵遞區號查詢", meta: "生活工具|快速查詢", keywords: ["郵遞區號", "郵編", "地址", "查詢"], url: "https://87camp.com/life-tools/" }, { title: "中英地址翻譯", meta: "生活工具|地址英譯", keywords: ["地址", "英譯", "翻譯", "地址翻譯"], url: "https://87camp.com/life-tools/" }, { title: "姓名英譯", meta: "生活工具|拼音 / 英文姓名", keywords: ["姓名", "英譯", "拼音"], url: "https://87camp.com/life-tools/" }, { title: "購物與比選", meta: "主分類|平台 / 官網 / 海外", keywords: ["購物", "電商", "平台", "官網", "比價", "優惠", "海外購物"], url: "https://87camp.com/shopping/" }, { title: "第一次海外購物", meta: "情境頁|新手路徑", keywords: ["海外購物", "新手", "代購", "集運", "日本購物", "跨境購物"], url: "https://87camp.com/shopping/" }, { title: "想找可信購物平台", meta: "情境頁|平台 / 官網 / 海外", keywords: ["購物", "平台", "官網", "比價", "電商"], url: "https://87camp.com/shopping/" }, { title: "出行與跨境", meta: "主分類|旅遊 / 機票 / 訂房", keywords: ["旅行", "旅遊", "出國", "機票", "訂房", "航班", "esim", "wifi", "租車"], url: "https://87camp.com/travel-go/" }, { title: "出國前必用入口", meta: "情境頁|出行與跨境", keywords: ["出國", "旅遊", "訂房", "機票", "eSIM", "wifi"], url: "https://87camp.com/travel-go/" }, { title: "新手出國準備", meta: "新手頁|三步版", keywords: ["出國", "新手", "旅行", "機票", "訂房"], url: "https://87camp.com/travel-go/" }, { title: "金融與申請", meta: "主分類|信用卡 / 貸款 / 申請", keywords: ["金融", "信用卡", "辦卡", "貸款", "保險", "申請", "報稅", "銀行"], url: "https://87camp.com/finance-apply/" }, { title: "想辦信用卡先看這裡", meta: "情境頁|金融與申請", keywords: ["信用卡", "辦卡", "卡片", "申請", "銀行"], url: "https://87camp.com/finance-apply/" }, { title: "金融申請入口與判斷", meta: "主題頁|官方 / 平台 / 注意事項", keywords: ["信用卡", "貸款", "金融", "申請", "銀行"], url: "https://87camp.com/finance-apply/" }, { title: "學習與數位工具", meta: "主分類|翻譯 / 工具 / 課程", keywords: ["學習", "工具", "翻譯", "課程", "效率", "信箱", "數位工具"], url: "https://87camp.com/learn-tools/" }, { title: "翻譯工具入口", meta: "數位工具|常用入口", keywords: ["翻譯", "語言", "工具"], url: "https://87camp.com/learn-tools/" }, { title: "新手找學習工具", meta: "情境頁|課程 / 翻譯 / 效率", keywords: ["學習", "工具", "翻譯", "課程", "效率"], url: "https://87camp.com/learn-tools/" } ]; const input = home.querySelector("#campSearchInput"); const form = home.querySelector("#campSearchForm"); const box = home.querySelector("#campSuggestBox"); const list = home.querySelector("#campSuggestList"); const chips = home.querySelectorAll(".camp-chip"); if (!input || !form || !box || !list) return; let activeIndex = -1; let currentResults = []; function ensureOrbs() { if (home.querySelector(".camp-orbs")) return; const orbs = document.createElement("div"); orbs.className = "camp-orbs"; orbs.innerHTML = [ '', '', '', '' ].join(""); home.prepend(orbs); } function normalize(str) { return (str || "").toString().trim().toLowerCase(); } function scoreItem(item, query) { const q = normalize(query); if (!q) return 0; const title = normalize(item.title); const meta = normalize(item.meta); const keywords = (item.keywords || []).map(normalize); let score = 0; if (title.includes(q)) score += 12; if (title.startsWith(q)) score += 4; if (meta.includes(q)) score += 6; keywords.forEach((k) => { if (k.includes(q)) score += 10; }); return score; } function getDefaultResults() { return [ taskData[0], taskData[4], taskData[7], taskData[10], taskData[13] ]; } function getResults(query) { const q = normalize(query); if (!q) return getDefaultResults(); return taskData .map((item) => ({ item, score: scoreItem(item, q) })) .filter((row) => row.score > 0) .sort((a, b) => b.score - a.score) .slice(0, 8) .map((row) => row.item); } function pulseSuggestBox() { box.style.boxShadow = "0 30px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(99,243,255,.10), 0 0 28px rgba(99,243,255,.12)"; clearTimeout(box._pulseTimer); box._pulseTimer = setTimeout(() => { box.style.boxShadow = "0 30px 80px rgba(0,0,0,.45), 0 0 0 1px rgba(99,164,255,.10), 0 0 24px rgba(99,164,255,.10)"; }, 220); } function syncActive() { const buttons = list.querySelectorAll(".camp-suggest__btn"); buttons.forEach((btn, idx) => { btn.classList.toggle("is-active", idx === activeIndex); }); } function closeSuggest() { box.classList.remove("is-open"); activeIndex = -1; syncActive(); } function openSuggest() { box.classList.add("is-open"); pulseSuggestBox(); } function goToItem(item) { if (!item || !item.url) return; window.location.href = item.url; } function renderResults(results) { currentResults = results; activeIndex = -1; list.innerHTML = ""; if (!results.length) { list.innerHTML = '
  • 找不到完全符合的項目,試試「報稅」「辦信用卡」「海外購物」「訂房」「翻譯工具」
  • '; openSuggest(); return; } results.forEach((item, index) => { const li = document.createElement("li"); li.className = "camp-suggest__item"; const btn = document.createElement("button"); btn.type = "button"; btn.className = "camp-suggest__btn"; btn.setAttribute("data-index", String(index)); btn.innerHTML = '' + item.title + "" + '' + item.meta + ""; btn.addEventListener("click", function () { goToItem(item); }); li.appendChild(btn); list.appendChild(li); }); openSuggest(); } ensureOrbs(); input.addEventListener("focus", function () { renderResults(getResults(input.value)); }); input.addEventListener("input", function () { renderResults(getResults(input.value)); }); input.addEventListener("keydown", function (e) { if (!box.classList.contains("is-open")) return; if (e.key === "ArrowDown") { e.preventDefault(); if (!currentResults.length) return; activeIndex = (activeIndex + 1) % currentResults.length; syncActive(); pulseSuggestBox(); } if (e.key === "ArrowUp") { e.preventDefault(); if (!currentResults.length) return; activeIndex = (activeIndex - 1 + currentResults.length) % currentResults.length; syncActive(); pulseSuggestBox(); } if (e.key === "Enter") { e.preventDefault(); if (activeIndex >= 0 && currentResults[activeIndex]) { goToItem(currentResults[activeIndex]); return; } if (currentResults[0]) { goToItem(currentResults[0]); } } if (e.key === "Escape") { closeSuggest(); } }); form.addEventListener("submit", function (e) { e.preventDefault(); const results = getResults(input.value); if (results[0]) { goToItem(results[0]); } }); document.addEventListener("click", function (e) { if (!e.target.closest(".camp-search-wrap")) { closeSuggest(); } }); chips.forEach((chip) => { chip.addEventListener("click", function (e) { const href = chip.getAttribute("href"); if (!href || !href.startsWith("#")) return; const target = home.querySelector(href) || document.querySelector(href); if (!target) return; e.preventDefault(); target.scrollIntoView({ behavior: "smooth", block: "start" }); }); }); })();
    返回頂端