Участник:Incnis Mrsi/clinks.js

Материал из Lurkmore
Перейти к навигации Перейти к поиску

Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.

  • Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
  • Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
  • Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
  • Opera: Нажмите Ctrl+F5.
// Clean up Links

function clinks () {
  var anchs = document.getElementById('bodyContent').getElementsByTagName('a');
  var links = 0;
  var repl = 0;
  for (var i in anchs) {
    var href,parts;
    if ( 
        (anchs[i] instanceof HTMLElement)
     && ( href = anchs[i].getAttribute("href") )
     && (parts = href.split(/^(\w+):\x2f\x2f(.*?)(\x2f.*)/)) 
     && parts[1]
    ) {
//      console.log(parts[1] + ' ' + parts[2]);
      links++;
      if (
           (
              ( parts[1].match(/^http$/i) )
           || ( parts[1].match(/^https$/i) )
           )
           && (
              ( parts[2].match(/lurkmo\.re$/i) )
          ||  ( parts[2].match(/lurkmore\.to$/i) )
          ||  ( parts[2].match(/lurkmore\.co$/i) )
          ||  ( parts[2].match(/lurkmore\.net$/i) )
      ) ) {
        anchs[i].href = parts[3]; // относительная ссылка
        repl++;
//        if ( anchs[i].style ) { 
//          anchs[i].style.fontWeight = 600;
//        };
      };
    };
  };
  console.log(repl + ' links of ' + links + ' replaced.');
};

addOnloadHook(clinks);