前幾天分享瀏覽器 F12 開發者工具轉存物件到 JSON 檔的 JavaScript 小函式,從讀者們的回饋我又學到新東西。(特此感謝)

shelob 分享可以將這些小程式放在 Tampermonkey,這樣子要用時可以省去爬文、複製、貼上的功夫。

Chester Fung 則提醒我,其實 Chrome/Edge 本來就自帶收藏 JavaScript 程式片段的功能 - Snippets。

一語驚醒夢中人。可惡,我居然錯過了這麼久!

Snippets 其實就藏在偵錯一定會用到的「來源」(Source),有個「程式碼片段」(Snippets)[1]默默躺在最後一個頁籤,新增一個新的程式片段[2],把程式碼貼到編輯區[3]儲存,取個好懂的名字,下回要用時直接來百寶箱找。Snippet 右側的偵錯工具一應俱全,可以設中斷點、觀察變數、查 Callstack,程式碼自動完成當然也不可或缺(如下圖),開發體驗比照網頁 JavaScript,堪稱完美!

如需要備份或分享,每個 Snippet 可另存 .js。

但下個問題馬上來了,如果有一百個 Snippet,難道這個動作要做一百次?

備份還原過去有個巧妙解法是先叫出 F12 開發者工具,再以 F12 開發者工具為對象按 Ctrl-Shift-I 叫出偵錯它的 F12 開發者工具 (DevTools of DevTools),接著透過 InspectorFrontendHost.getPreferences() 讀取 scriptSnippets 屬性取得所有 Snippet。參考

但不幸地 scriptSnippets 屬性在 124 版被移除了。Stackoverflow 有人分享了替代做法,輸入 chrome://versionedge://version 查詢設定檔路徑:

設定檔路徑下有perferences檔案,本身是個沒排版的 JSON,在其中可以找到 devtools.preferences.script-snipptes,儲存著所有 Snippet 打包成的 JSON 字串。

知道位置,要備份要還原,還是寫個華麗管理工具,大家可自由發揮。

This article explores ways to efficiently manage JavaScript snippets in Chrome/Edge, highlighting the use of built-in Snippets and Tampermonkey. It also provides techniques for accessing and backing up Snippets via browser settings files.


Comments

# by Lee

何不用bookmarklet?

# by Lee

Sorry,bookmarklet可能不適合你的需求,因為你要使用時還會再調整程式碼。

# by Jeffrey

to Lee, 放在 Snippets 區可享受完整的 JavaScript 開發體驗,應該比在 Bookmarklet 擠成一行好些,還是書籤有什麼我沒想到的優點?

Post a comment