[Chrome] 在台北市圖搜尋書籍時,用 Tampermonkey 自動改變排序方式

[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 在這種跳轉下,似乎不會運作,

因此只好放大範圍,自己再做比對~

 

來看看運作效果吧~

現在在台北市圖搜尋書名後,它一開始還是用預設的排序,

但很快就會被程式切換成「出版年-降冪」排序,

之後再搜尋其他書籍,也是一樣運作:

 

這樣子就省了一些工夫囉,

畢竟重複性的工作真的是很麻煩…

(話說台北市圖應該要記住上次的排序選擇才對吧…)

 

(本頁面已被瀏覽過 126 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料