[Chrome] 在台北市圖搜尋書籍時,用 Tampermonkey 自動改變排序方式
因為公司附近就有個台北市圖分館,
所以我還蠻喜歡去借書的 (雖然很常借了沒看…)
不過因為圖書館裡的書大部分都很舊,
我通常是在網路上先預約書後再去拿~
但台北市圖的網頁有個問題,
它的搜尋結果預設是以「相關度」來排序,
就算修改了,下次搜尋不同的書時,又會回復預設值:
對我來說,我比較希望是以「出版年-降冪」的方式來排序,
這樣就能優先看到新書,
畢竟我通常查的是電腦書,而電腦書通常要是新的才比較有參考價值~
觀察一下搜尋頁的網址,搜尋 python 時大約是長這樣:
https://book.tpml.edu.tw/search?searchField=FullText&searchInput=python
如果改成「出版年-降冪」排序的話,會變這樣:
https://book.tpml.edu.tw/search?order=desc&searchField=FullText&searchInput=python&sort=YEAR
所以如果我可以自動加上 order 和 sort 這兩個參數的話,
就可以自動切換成我想要的排序了~
再次使用到 Tampermonkey 這個好用的 Chrome 擴充程式,
在裡面寫了下面這個程式:
// ==UserScript== // @name Taipei Library: Sort by Year // @namespace http://tampermonkey.net/ // @version 0.1 // @description Automatically switch to sort-by-year-descending mode in Taipei library search result pages // @author ephrain // @match https://book.tpml.edu.tw/* // @grant none // ==/UserScript== function repeatCheck() { if (location.href.indexOf("https://book.tpml.edu.tw/search?") >= 0 && location.href.indexOf("sort=") < 0) { location.href += "&sort=YEAR&order=desc"; } } (function() { 'use strict'; setInterval(repeatCheck, 3000); })();
這程式做的事很簡單,它只在台北市圖的網址上運作,
每三秒鐘去檢查一下網址是否是搜尋頁面,
是的話看一下裡面有沒有帶上 sort 這個參數,
沒有的話就加上 sort 和 order 這兩個參數。
可能會有人問說,為什麼不把 @match 設成 https://book.tpml.edu.tw/search* 就好,
這樣它就只會在搜尋頁面運作,不需要自己多加判斷。
這部分的原因是,搜尋時是在 https://book.tpml.edu.tw/index 頁面,
但搜尋後會跳到 https://book.tpml.edu.tw/search 頁面,
而 Tampermonkey 在這種跳轉下,似乎不會運作,
因此只好放大範圍,自己再做比對~
來看看運作效果吧~
現在在台北市圖搜尋書名後,它一開始還是用預設的排序,
但很快就會被程式切換成「出版年-降冪」排序,
之後再搜尋其他書籍,也是一樣運作:
這樣子就省了一些工夫囉,
畢竟重複性的工作真的是很麻煩…
(話說台北市圖應該要記住上次的排序選擇才對吧…)