NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name Medium Hash Cleaner
// @namespace https://blog.gslin.org/medium-hash-cleaner/
// @version 0.4
// @description Medium hash cleaner
// @author Gea-Suan Lin
// @match *://*/*
// @grant none
// @run-at document-end
// @updateURL https://openuserjs.org/meta/gslin/Medium_Hash_Cleaner.meta.js
// ==/UserScript==
(function() {
'use strict';
var mediumSite = false;
var ss = document.getElementsByTagName('script');
var len = ss.length;
for (var i = 0; i < len; i++) {
var url = ss[i].src;
if (undefined !== url && -1 !== url.indexOf('://cdn-static-1.medium.com/_/fp/gen-js/')) {
mediumSite = true;
break;
}
}
if (mediumSite) {
window.history.replaceState = function(){};
var l = window.location;
if ('' !== l.search || '' !== l.hash) {
l.replace(l.protocol + '//' + l.hostname + l.pathname);
}
}
})();