skryptozakładka Click’n’Remove

Czy miałeś/aś kiedyś ochotę, aby jakiś element strony internetowej po prostu zniknął? Na przykład denerwująca reklama, czy menu na drukowanej stronie? Ja też, dlatego powstała skryptozakładka Click’n’Remove (ang. kliknij i usuń).

Nazwa mówi sama za siebie, więc może od razu przejdę do małego „jak to zrobić” i samego programu:

  1. uruchom skryptozakładkę Click’n’Remove na dowolnej stronie. Możesz ją zainstalować dodając powyższy link do zakładek lub przetestować na tej stronie klikając na niego.
  2. kliknij elementy, który chcesz usunąć
  3. jeśli usunąłeś już wszystkie, naciśnij klawisz ESC, aby wyłączyć skrypt.

Dla zainteresowanych kod źródłowy w nieco bardziej czytelnej formie:

javascript:(function(){
  /* Click'n'Remove rev 1 by rad */
  var jQ = document.createElement('script');
  jQ.type = 'text/javascript';
  jQ.onload=clicknremove;
  jQ.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js';
  document.getElementsByTagName('head')[0].appendChild(jQ);
  
  function clicknremove() {
    var style = document.createElement('style');
    style.type = "text/css";
    style.innerHTML = '.Click-n-Remove-over {outline: 1px solid #f00;}';
    document.getElementsByTagName('head')[0].appendChild(style);
    
    $('*').live('mouseover mouseout click keydown',
      function(event) {
        if (event.type == 'mouseover') {
          $(this).addClass('Click-n-Remove-over');
        }
        else if (event.type == 'mouseout') {
          $(this).removeClass('Click-n-Remove-over');
        }
        else if (event.type == 'click') {
          event.preventDefault();
          $(this).slideUp('slow');
        }
        else if (event.keyCode == 27) { // 27 is ESC
          // ESC pressed, party is over...
          $('*').die('mouseover mouseout click keydown');
          // ... time to cleanup
          $('*').removeClass('Click-n-Remove-over');
          document.getElementsByTagName('head')[0].removeChild(jQ);
          document.getElementsByTagName('head')[0].removeChild(style);
        }
      }
    );
  }
})();

1 Response to “skryptozakładka Click’n’Remove”


Leave a Reply