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?