document.querySelectorAll('a').forEach(a=>{
if(!a.href || !(a.href.indexOf('http')===0)) return;
let href = a.href;
a.removeAttribute('href');
a.addEventListener('click',e=>{
location.href = href;
});
});
Но этот скрипт испортит некоторые хитрые кнопки. Так что надо доделывать либо под конкретный сайт, либо думать, как определять кнопки в универсальном варианте скрипта.
Немного улучшенный вариант:
Но нет предела совершенству. Улучшать можно бесконечно.
document.querySelectorAll('a').forEach(a=>{
//a.style.backgroundColor = 'red'; //красным проигнорированные
if (a.href && a.href.indexOf('javascript:') === 0) {
//a.style.backgroundColor = '#ff0'; //желтым скриптованные ссылки
let eval_str = a.href.substr(11);
a.addEventListener('click',e=>{
eval(eval_str);
});
a.removeAttribute('href');
return;
}
if(!a.href || !(a.href.indexOf('http')===0)) return;
let c = a.className;
if (c.indexOf('button') > -1 || c.indexOf('btn') > -1 || c.indexOf('like') > -1 || c.indexOf('reply') > -1) return;
if (a.querySelector('svg') || a.querySelector('img')) return;
if (a.style.borderRadius) return;
//a.style.backgroundColor = '#0f0'; //зеленым очищенные ссылки
let href = a.href;
a.removeAttribute('href');
a.addEventListener('click',e=>{
location.href = href;
});
});