拔掉 Medium 網站出現的 Hash Mark

Medium 會在網址上串上 Fragment identifier (就是井號 # 後面那一串),而這件事情一直頗讓人惱怒...

網路上查到的幾個解法都是針對 medium.com 再做一次 replaceState() 把 hash mark 拔掉,但這對於使用自訂網址而且 hosting 在 Medium 的網站就沒用了 (因為網域不在 medium.com 下),但一時間沒想到比較好的解法...

今天下午突然想到應該可以擋下 replaceState() 來做,就花了些時間研究一下 Medium 的實作方法,然後用 Greasemonkey script 寫了一個 prototype,看起來有達到需求:「Medium Hash Cleaner」,程式碼可以在 source page 頁直接看到 (沒幾行)。

想法是透過 @run-at 指定在 document-end 時執行,然後掃描目前所有的 script tag,如果有找到 Medium 相關的 js 就把 window.history.replaceState() 換掉,這樣比較不會造成系統負擔。

先把這個想法跑一陣子看看... 沒問題就來寫 Chrome extension?