Пользовательские скрипты в Opera

    В опере есть замечательная возможность добавлять свои скрипты на конктретный сайт или на все. Так можно убрать баннеры с сайта. Ещё можно блокировать контент, но только картинки и флеш, поэтому лучше через js.
    Например с хабра:

    <script>
    function fuck_banner(){
     if(!document.getElementById('footer')){
      return;
     }
     $clear(fb_int);
     
     $$('.banner').each(function(el){
       el.setStyle('display', 'none');
     });
     
     if($('main-page').getElement('object')){
      $('main-page').getElement('object').setStyle('display', 'none');
     }else{
      var a_banner = $('main-page').getElement('a');
      if(a_banner.href != 'http://habrahabr.ru'){
       $('main-page').getElement('a').setStyle('display', 'none');
      }
     }
    }

    var fb_int = setInterval(«fuck_banner();», 1000);
    </script>


    * This source code was highlighted with Source Code Highlighter.


    Или подключить скрипт для всех странице, чтобы интегрировать с Google Reader. Если есть фиды на странице, по нажатию кнопки — `(ё) открывается страница google reader.
    <script>
    setTimeout(«set_key_controller();», 1010);
    function set_key_controller(){
     if(!document.getElementsByTagName('head').length){
      setTimeout(«set_key_controller();», 1010);
      return;
     }
     var links = document.getElementsByTagName('link');
     for(var n = 0; n < links.length; n++){
      if(links[n].type == 'application/rss+xml'){
       feed_url = links[n].href;
       document.getElementsByTagName('body')[0].onkeydown = 'key_controller()';
       return;
      }
     }
    }

    function key_controller(){
     // 192 и 1025 — соответствуют кнопке ` (ё)
     if(event.keyCode == 192 || event.keyCode == 1025){
      var url = 'http://www.google.com/reader/view/feed/' + feed_url;
      window.open(url, '', 'resizable=yes,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,fullscreen=no,dependent=no,width=1015,height=600,left=100,top=100,status');
     }
    }
    </script>
    * This source code was highlighted with Source Code Highlighter.

    (почему-то не работает на хабре)
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 30

    • UFO just landed and posted this here
      • UFO just landed and posted this here
          0
          Спасибо, не знал об этом сайте
        • UFO just landed and posted this here
            +1
            web1.0 — вебмастера наполняют сайт контентом
            web2.0 — пользователи наполняют сайт контентом
            web3.0 — пользователи сами программируют чужие сайты :)
              0
              насколько я помню
              web3.0 — сайты сами создают другие сайты
          +1
          проще пользовательские CSS, прикрепрять
          а ещё проще блокировать URL по которой берётся рекламный скрипт
            +2
            Можно, но топик про js :)
            • UFO just landed and posted this here
                +1
                зачем делать с помощью JS работу с которой браузер справится гараздо быстрее?
                • UFO just landed and posted this here
                    +1
                    хотите сказать что JS меняет свойства элемента, чем сам браузер применяет CSS стили??
                    или то, что браузер не получит скрипта и не пропарсит его и не запустит его произойдёт быстрее, чем отправит запрос серверу, получил скрипт, пропарсит его, запустит, обработает пользовательский скрипт и поменяет свойства?(это в случае js)

                    css тоже примениться быстрее чем js (можете протестировать)

                    это не ответ на вопрос, кстати. так зачем же делать работу с помощью JS с которой браузер сам справится гараздо быстрей?
                    • UFO just landed and posted this here
              0
              здорово, будем пользоваться, спасибо
                +3
                Этой статье не хватает подробного мануала по добавлению этих самых скриптов.

                Вот мой вариант, писанный недавно на коленке:

                Меню Tools
                Пункт Preferences
                Вкладка Adavnced
                Слева в списке выбираем Content
                Справа жмём кнопку JavaSсript Options
                Внизу выбираем папку, в которой будут лежать скрипты (любую)
                В эту папку засовываем файл скрипта
                Обновляем страницу и радуемся новым возможностям :)

                Сейчас ещё кину парочку скриптов которыми сам пользуюсь.
                  0
                  Чтобы добавить скрипты для одного сайта
                  правый клик в сайте, Edit Site Preference… — Вкладка Scripting — внизу поле для ввода папки, в которой скрипты (так я банеро-рез для хабра вставил)
                    +1
                    Согласен с arestov. Зачем городить огород там, где есть более простые способы?

                    1. Правой кнопкой на свободном пространстве страницы Хабра, выбрать «Блокировать содержимое»
                    2. Кликнуть курсором на любом баннере (автоматически выберется и другой. Если нужно раздельно — удерживаем Ctrl)
                    3. Кнопка «Завершить».

                    Всё. Никаких скриптов, никаких лишних телодвижений.
                    0
                    Можна еще через opera: config установить путь:
                    opera: config#UserPrefs|UserJavaScriptFile

                    +3
                    vkontakte optimizer www.sendspace.com/file/pctqnr
                    Пожалуй самый любимый скрипт :)
                    Добавляет следующие возможности:
                    +скачивание аудио
                    +скачивание видео
                    +выстраивание групп в столбик!!!
                    ну и плюс всякие приятности типа показа кода вставки видео, возможность пригласить куда-то всех друзей сразу (хотя это имхо зло) и автоматическое раскрытие картинок на стене.

                    Ну и вдогонку моя небольшая самописная примочка, выводит форму поиска музыки под левым меню (для тех кто вконтакт посещает в основном для скачивания мп3 :)) www.sendspace.com/file/1tyzto

                    Пожалуй что всё, остальные скрипты для не особо известных сайтов.

                    Кстати пока писал этот пост, вспомнил о том что когда-то здесь проскакивал скрипт, позволяющий растягивать текстовое поле для написания коммента на хабре. Надо найти!
                      0
                      Скрипт назывался Хабрахакер, и добавлял ещё кучу другой классной фигни. На Суперхабре, к сожалению, не работает.
                    • UFO just landed and posted this here
                          0
                          а разве конструкции вида $ / $$ доступны в опере? для этого ведь нужно подключать либо prototype либо jquery
                            0
                            На хабре используется mootools, через секунду запускается эта функция, mootools уже подгружен и $, $$ уде рвботвют
                            +2
                            Только я не понял, нафига setInterval, когда там один раз нужно убрать рекламу. Или она каждую секунду регенирируется?
                            • UFO just landed and posted this here
                                0
                                Этот интервал обнуляется ($clear(fb_int);).
                                Вдруг банеры добавляются с помошью js в событии DomReady, а так чтоб наверника :)
                                  0
                                  Ясно. Я думал просто описка :)
                                0
                                Мой скрипт, кстати, вот вам: depositfiles.com/ru/files/5evg1bdo6

                                Добавляет быструю навигацию по картинкам галереи.
                                (сам писал, потому есть баг — при большом количестве картинок случается «неведомая-#баная-#ня». На всякий случай ограничение стоит на 50 штук)
                                  0
                                  использую .user.js (Greasemonkey-style) скрипты для заполнения полей на сайтах, где всегда приходится писать одно и то же, и установки фокуса в нужное место.
                                  Например, на странице отправки смс скрипт вписывает номер и ставит фокус в поле ввода текста. На ufs-online в разделе железнодорожных билетов вписывает мой наиболее частый маршрут и соглашается с условиями (постоянно забывал ставить эту галочку).
                                  Не получилось использовать @include/exclude, все равно скрипт выполняется на всех сайтах. Пришлось разложить скрипты по отдельным папкам.
                                  Хотел даже написать топик на эту тему.

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