Простой bookmarklet как средство очистки содержимого веб-страницы от нежелательных элементов

    JavaScript использую достаточно давно, букмарклеты рассматривал когда-то в познавательных целях, но чтобы использовать,- необходимости не было.

    Мысль о написании букмарклета пришла спонтанно: проверяя почту на одном из онлайн серверов ощутил явный дискомфорт, вызванный навязчивым (пёстрым и большим) флэш-банером, и это меня несколько озадачило, так как реклама встречается сплошь и рядом, временами некачественно сделанная реклама досаждает, но не так что бы очень (скорее воспринимается как окружающий фон). Первая мысль была найти дополнение для браузера (типа Flashblock), и уже было собрался устанавливать, но по разным причинам (использую разные браузеры на нескольких компьютерах, нежелание настраивать и сопровождать и т.п., да и далеко не все флэш-объекты провоцируют на то, чтобы их удалили) особого энтузиазма по поводу установки подобных дополнений не испытывал, но тут вспомнил про букмарклеты и написал простой код, позволяюший по мере необходимости легко справляться с очисткой страницы:

    (function(tagNameList){for(var j = 0, m = tagNameList.length; j < m; j++){var obj = document.getElementsByTagName(tagNameList[j]); for(var i = 0, n=obj.length; i < n ; i++) {obj[i].style.display = 'none'; }};})(['object','embed','iframe']);


    Небольшой комментарий для начинающих:

    Код встроен в анонимную функцию см. http://en.wikipedia.org/wiki/Anonymous_function#JavaScript

    Действующие примеры для экспериментов с Anonymous_function:
    http://ideone.com/DWtzx
    http://ideone.com/BCZlR

    В качестве аргумента анонимной функции передается массив имен тегов ('object','embed','iframe'), по которым ищутся соответствующие объекты в DOM HTML и найденные объекты превращаются в невидимые obj[i].style.display = 'none';… Изменяя содержимое данного списка, можно изменять состав объектов, к которым необходимо получить доступ.

    Готовое решение представлено здесь:
    http://jsfiddle.net/ySG6a/

    Желающие больше узнать о букмарклетах, могут ознакомиться с обширной подборкой статей по данной теме на Хабре: http://habrahabr.ru/search/?q=bookmarklet
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 2

      0
      А adblock в таких ситуациях не поможет?
        +1
        Различных блокираторов достаточно много (здесь их, например, сравнивают: Adblock vs Flashblock, Adblock Plus vs. FlashBlock): в некоторых случаях необходим мощный внедорожник, в других — достаточно обычного велосипеда. Данный скрипт «лежит» на панели закладок и обращает на себя внимание лишь в тех случаях, когда в нем есть потребность.
        С другой стороны, подобные «javascript хайку» мне интересны как жанр…

      Only users with full accounts can post comments. Log in, please.