xbrowser 踩坑實錄:這款 2MB 瀏覽器的五個容易翻車的地方

系统工具 ·约 10 分钟 ·記筆記的貓:團子

xbrowser 是什麼

如果你對 Android 瀏覽器的印象還停留在 50MB 起跳、打開就彈新聞推送的體量級,那 xbrowser 會給你一種「這東西真的能用?」的錯覺——2.48MB 安裝包,啟動瞬間完成,不駐留後台,不收集資料,甚至連推送通知都沒有。

它的設計哲學就四個字:小而純。能用系統原生程式碼就不引第三方 SDK,只保留瀏覽核心能力——但「核心」裡面偏偏塞了一個讓重度用戶愛死的功能:原生內建油猴(TamperMonkey)腳本管理器。不需要額外裝擴充套件,設定裡打開就能裝 .user.js 腳本。再加上廣告攔截規則訂閱、對接 1DM / ADM / Gopeed 等第三方下載器、閱讀模式 + TTS 朗讀,xbrowser 就是給「已經受夠臃腫瀏覽器」這群人做的。

但說實話,第一次裝上它的時候,我以為會像其他極簡工具一樣「裝完就完事」——結果前後踩了好幾個坑才摸透脾氣。下面一個一個講。

安裝

xbrowser 是純 Android APK,安裝包才 2.48M,xbrowser下載 完點開就是——這部分真的沒什麼好寫。不過有兩點要提:

第一,這軟體太小了,第一次從應用市場或第三方站點下載時,建議先確認包名是 com.xbrowser.play(北京心往科技有限公司出品),避免下到同名的假貨。

第二,首次啟動後別急著裝一堆腳本。先花兩分鐘進「設定 → 瀏覽器設定」把搜索引擎、預設下載器、閱讀模式偏好調好——因為 xbrowser 的設定是獨立存儲的,之後如果需要重置瀏覽器(別問我怎麼知道的),腳本和設定是分開的。

xbrowser 主選單截圖

坑一:Greasy Fork 安裝腳本被擋在「你有腳本管理器了嗎」

症狀

打開 Greasy Fork 找到想要的腳本,點「安裝此腳本」——結果彈出一個提示框說:「你確定你已經有腳本管理器了?」然後給兩個選項。如果選錯了,腳本就不會裝上。

我第一次裝時候猶豫了半分鐘——xbrowser 內建的這個東西算 TamperMonkey 嗎?還是需要額外裝?選了「我沒有,去安裝」之後,Greasy Fork 就開始引導我去裝 PC 版的 TamperMonkey 擴充套件,繞了一大圈才發現自己走錯路。

原因

Greasy Fork 對移動端瀏覽器的支援狀態很複雜。大多數 Android 瀏覽器本身沒有腳本管理器,所以 Greasy Fork 的預設邏輯就是:移動端用戶要先裝一個管理器。但 xbrowser 是原生內建的,它不需要額外裝——問題是 Greasy Fork 沒那麼聰明,它只看 UA 是移動端就彈這個提示,不管你有沒有內建。

解法

直接點「我已經有腳本管理器了,直接安裝」——xbrowser 會自己接管安裝流程,彈出熟悉的 TamperMonkey 安裝確認框。整個過程不到三秒。

順便一提,裝完之後去「設定 → 用戶腳本」看列表,就能看到新腳本帶著啟用開關躺在那裡。在匹配的頁面上時,腳本那一行還會顯示一個小標記寫「執行中」——這是驗證腳本有沒有生效最快的方式。

Greasy Fork 安裝腳本的提示框

坑二:腳本裝了但完全沒效果

症狀

腳本列表裡顯示「執行中」,但打開對應網站什麼變化都沒有——廣告照彈、浮窗照飄。我第一次以為是腳本本身失效了,卸了又裝,折騰了十分鐘才找到原因。

原因

基本上就三種:

  1. 腳本是 PC 專屬的。Greasy Fork 上大多數腳本是為 PC 瀏覽器寫的,依賴桌面鍵盤快捷鍵、特定瀏覽器擴充 API(比如 Chrome 的 chrome.*),xbrowser 跑不了。裝之前看腳本標題或介紹,有「mobile」「Android」「手機」字樣的優先,PC 專屬的直接跳過。
  2. 匹配規則(@match)太窄。有些腳本只匹配 https://www.example.com/*,但實際上你訪問的是 https://example.com/*(沒 www)。xbrowser 對 @match 的解讀是嚴格的,一個字都不能差。
  3. 執行時機選太晚。如果設成「文件加載完成」才執行,有些需要在 DOM 還沒渲染時就介入的腳本(比如隱藏頁面元素)會錯過時機。大多數腳本用「DOM 就緒後」就夠,實在不行試「文件開始加載」。

解法

先把腳本暫停啟用 → 編輯腳本 → 看匹配規則和執行時機 → 調整後保存啟用 → 刷新頁面(xbrowser 的腳本修改不會熱更新,必須刷新)。還不行就卸了換個移動端專用的。

坑三:腳本壞了怎麼調試——黑盒狀態下的求生指南

症狀

腳本安裝成功也顯示「執行中」,但頁面行為不對——按鈕點了沒反應、彈窗不出現、某個元素該隱藏但還在。問題是:xbrowser 不會彈任何報錯框。TamperMonkey 在 PC 瀏覽器裡至少會在控制檯噴錯,但 xbrowser 把這層藏起來了,讓人以為腳本根本沒在跑。

原因

xbrowser 追求極簡的代價就是:它沒有完整的開發者工具入口(或者說藏得很深),腳本異常不會以任何可見形式暴露。這對普通用戶來說無所謂,但對自己寫腳本或調試腳本的人來說就是個黑盒。

解法

兩招,親測有效:

第一,用 alert() 定位執行位置。在腳本最頂部加一行 alert('腳本開始執行'),保存刷新——如果彈窗出來了,說明腳本本身在跑,問題出在後面的邏輯;如果沒彈,回頭檢查匹配規則。

第二,分段註釋找崩潰點。把腳本代碼分成幾段,一段一段註釋掉測試——哪段註釋後腳本恢復正常,問題就在那段裡。這個方法笨但有效,畢竟移動端也沒別的調試手段了。

// ==UserScript==
// @name         測試腳本
// @match        *://*/*
// ==/UserScript==

alert('腳本開始執行');  // ← 加這行定位
// ... 後面的代碼

坑四:雲同步登錄了但書籤沒過來

症狀

新設備上裝好 xbrowser,進「設定 → 用戶中心」用同一個郵箱密碼登錄,等了半天——書籤沒拉過來,歷史記錄也沒有。以為自己登錯號了,反覆核對郵箱地址好幾遍。

原因

三個可能性,按概率排序:

  1. 同步觸發條件設成了「僅手動同步」。這個是預設行為,xbrowser 不會自動幫你同步(它就是這麼一個「不做主動推送」的瀏覽器)。登錄後你得自己進用戶中心點一下「立即同步」按鈕才會開始。我第一次就是以為登錄自動同步,傻等了五分鐘。
  2. 之前沒開過雲同步。如果在舊設備上從來沒開過雲同步(只是本地用),那雲端本來就沒有你的資料,登了也白登。這種情況要先在舊設備上開同步、等它把資料傳上雲,再換新設備登錄。
  3. 網路問題。xbrowser 的雲同步走的是自家伺服器,偶爾會抽風。這種情況沒辦法,等十分鐘再試。

解法

登錄後進用戶中心主動點一次「立即同步」,然後等它跑完(看進度條)。建議把同步觸發條件改成「啟動時自動同步」或至少保留「手動同步」作為兜底。換手機前記得在舊機上先手動同步一次——xbrowser 還有本地自動備份功能,也可以手動觸發一次備份到本地存儲,雙保險。

順便一提,xbrowser 支援標準 HTML 格式的書籤導入導出。如果你從 Chrome 或 Firefox 遷移書籤,那直接導出 HTML 再導入 xbrowser 就行,不用繞雲同步。

坑五:卸載重裝後腳本全沒了

症狀

手機出問題需要恢復出廠設置,裝回 xbrowser 之後——所有用戶腳本、自訂腳本、設定全部歸零。以為雲同步會幫我找回來,結果雲同步只同步書籤和歷史,腳本資料不同步。

原因

這是 xbrowser 設計上的一個「純淨」體現——它不做殘留。卸載時,腳本和腳本資料會被乾淨利落地刪掉,不留下任何尾巴(這在腳本故障需要完全清除時是優點,但在恢復場景就是坑)。而且目前的雲同步機制也還沒覆蓋到腳本層。

解法

兩種思路:

第一,依賴 Greasy Fork / 手動重新安裝。如果你裝的都是 Greasy Fork 上的公開腳本,那卸了重裝再一個一個去裝就行——麻煩但不會丟失。關鍵是記住自己裝了哪些腳本,建議在備份清單裡記一下腳本名。

第二,自訂腳本自己備份代碼。如果你在 xbrowser 裡手寫了自訂腳本(「設定 → 用戶腳本 → 新增腳本 → 新建腳本」),卸載前一定要把代碼複製出來保存——xbrowser 沒有獨立的腳本導出功能,每個腳本要進編輯器自己複製代碼。

防坑清單(速查)

最後整理成一份可以貼到手機備忘錄的清單:

  • Greasy Fork 安裝時永遠選「我已經有腳本管理器了」——不用糾結,xbrowser 接得住
  • 裝腳本先看移動端相容性——有「mobile」「Android」字樣的優先,PC 專屬直接跳
  • 腳本不生效先查三件事:匹配規則、執行時機、刷新頁面了嗎
  • 雲同步登錄後記得主動點「立即同步」——xbrowser 不做主動推送
  • 自訂腳本代碼隨時備份——卸載即消失,別等出事了才後悔

說實話,踩完這些坑之後,我反而更喜歡 xbrowser 了——它就是這麼一個「給懂得人用」的工具,沒有過度貼心的提示,不會替你做決定,但只要摸熟了門道,它的乾淨、輕量和內建油猴的便利性是真的回不去。2MB 的瀏覽器能做到這個份上,已經是同類裡的頂尖。

本文為個人基於網路公開資料整理編寫,非官方內容,僅供學習交流參考;軟體版權歸原作者所有,請支持正版;使用過程中遇到問題請查閱官方管道,本文不承擔任何責任。

團子還試過這些