remove oo.pe redirection in Arca.live
当前为
// ==UserScript==
// @name oo.pe redirection remover
// @name:ko oo.pe 리디렉션 제거기
// @namespace OOPE_REMOVER_V1
// @match https://arca.live/b/*
// @run-at document-end
// @version 1.22
// @author Laria
// @description remove oo.pe redirection in Arca.live
// @description:ko 아카라이브 oo.pe 리디렉션을 제거합니다.
// @supportURL https://greasyfork.org/scripts/485591
// @icon https://www.google.com/s2/favicons?sz=64&domain=oo.pe
// @license MIT
// @encoding utf-8
// ==/UserScript==
/*
* Note: Please install with greasyfork, it will update automatically..
*
* More info. https://greasyfork.org/scripts/485591
*
*/
/*
* == Change log ==
* 1.0 - release
* 1.1 - add retry
* 1.2 - detect comment reload
* 1.21 - apply link's description
* 1.22 - check article comment before register event listner, retry 7 -> 10
*/
//root
(function() {
'use strict';
function resolveLink(tar = document) {
function _res(tar) {
//tokenizing
const token = tar.split('/');
//search oo.pe prefix
const pref = token.indexOf('oo.pe');
//join link after prefix
return token.slice(pref + 1).join('/');
}
//search link include 'oo.pe'
tar.querySelectorAll('a[href*="oo.pe"]').forEach(function(src) {
try {
src.title = _res(src.title);
src.href = _res(src.href);
} catch (_) {}
});
}
resolveLink();
//repeat resolve and add event listner
setTimeout(() => {
resolveLink();
}, 50);
setTimeout(() => {
resolveLink();
if(document.querySelector('.article-comment')) {
//resolve link when comment reload
document.querySelector('.article-comment').querySelector('.newcomment-alert').addEventListener('click', (event) => {
event.preventDefault();
//try to resole while server connection pending (1000ms)
for (let i = 1; i <= 10; i++) {
setTimeout(function() {
resolveLink(document.querySelector('.article-comment'));
}, 100 * i);
}
});
}
}, 200);
})();