Dereferences mail.ru links in emails when clicked.
当前为
// ==UserScript==
// @name mail.ru: clean links
// @namespace lainscripts_mailru_clean_links
// @description Dereferences mail.ru links in emails when clicked.
// @author lainverse
// @license CC BY-SA
// @version 1.1
// @include https://e.mail.ru/message/*
// @grant none
// ==/UserScript==
let clb = /^http:\/\/r\.mail\.ru\/clb[0-9]+\/(.*)/i,
cgi = /^http:\/\/e\.mail\.ru\/cgi-bin\/link\?.*&(amp;)?url=([^&]*)/i; //http:\/\/r\.mail\.ru\/clb[0-9]+\/(.*)/i,
clearLink = function() {
for (let x in this)
if (x.indexOf('__originUrl') > -1) {
let res = cgi.exec(this[x]);
if (res) this[x] = decodeURIComponent(res[2]);
res = clb.exec(this[x]);
if (res) this[x] = 'http://' + res[1];
this.href = this[x];
}
},
task = function () {
let links = document.querySelectorAll('A[href^="http://r.mail.ru/clb"]:not(.fixed),A[href^="http://e.mail.ru/cgi-bin/link?"]:not(.fixed)');
if (links.length > 0)
for (let l of links) {
l.classList.add("fixed");
l.onclick = clearLink;
console.log(l);
}
};
(function link_monitor() { task(); setTimeout(link_monitor, 100); })();