Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Opera старые и новые вкусности

Opera
logo
Заметка не откроет Африку для постоянных пользователей Оперы, но, возможно, заинтересует новых. Собствено, цель — подытожить со своей колокольни всё что знал и пользовал в этом прекрасном Браузере. Повторюсь, не претендую на полноту повествования, т.к. продвинутые пользователи, уверен и надеюсь, смогут добавить и дополнить.

Опера является «комбайном», способным предоставить пользователю удобство просмотра интернет-ресурсов, пользования mail, irc, rss (а когда-то и icq) клиента в одном интерфейсе. Во многом для меня это решение выигрышно. Почта M2 и rss являются великолепным mail-центром. irc хороший бонус, когда нужно войти в сеть, а клиента под рукой нет.
Опера умеет многое. И многие хитрости остаются за кадром.
Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Просмотры982
Комментарии 44

Нормальные значения title на habrahabr

Чулан
Кросспост с Удобный JS (Посвящено Хабра-OPERAводам)

Вот блин взяли и придумали в заголовках ставить слеши …

Я с ума схожу: хочу сохранить название, а опера спотыкается и из заголовка «бла / бла / Хабрахабр» придумывает название для сохранение ” Хабрахабр”, при этом "/" принимает за адрес и в результате ошибки переходит в домашнюю директорию. Меня это порядком поднадостало и я написал маленький UserJS, который исправляет сие недоразумение, заменяя слешь и ~ на знак “минус”.
var back='';
while(back!=document.title){
back=document.title;
document.title =document.title.replace('/','-');
document.title =document.title.replace('~','-');
}

Или вот так (by lenar):
document.title = document.title.replace(/\/|~/g, '-');

Что естественно элегантнее и короче :)
Простенько и со вкусом, а, главное, — РАБОТАЕТ
Всего голосов 19: ↑11.5 и ↓7.5+4
Просмотры162
Комментарии 4

Скрипт для фильтра комментариев

Чулан
Спасибо за внимание к моему топику "Еще один фильтр для комментариев".
Мне стало интересно, на самом ли деле то что я придумал настолько бессмысленно, и посидев некоторое время за мануалами я создал простенький userscript для Greasemonkey/UserJS, который и реализует задуманное. В теле скрипта есть параметр CF_wordThreshold, комментарии в которых содержится меньшее количество слов будут скрыты. Тестировался в Opera 9.60, FF3.
Смотреть код
Всего голосов 3: ↑3 и ↓0+3
Просмотры399
Комментарии 2

userjs для хабраката

Чулан
А кто-нибудь написал уже js-плагин, который прячет первый комментарий, если в нем есть текст типа «под кат, пожалуйста»? Такой комментарий обычно устаревает через 5 минут после публикации и для 99,99% читателей не имеет никакой ценности.
Всего голосов 25: ↑16 и ↓9+7
Просмотры202
Комментарии 12

Кросс-доменные запросы в Opera UserJS

JavaScript
В отличие от расширения Greasemonkey в мозилле, Опера не предоставляет аналога функции GM_xmlhttpRequest для кросс-доменных запросов (XDR). Это, понятное дело, сильно ограничивает возможности и сферу применения UserJS. Используя XDR, например, можно реализовать Last.fm-скробблер для различных онлайн-проигрывателей музыки (типа vkontakte.ru или MySpace).

Однако кросс-доменные запросы можно заставить работать в Опере с помощью трюков с iframe'ами и window.name транспортом. Под катом я покажу как это сделать и предъявлю простую библиотеку, реализующую все колдовство.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Просмотры1.3K
Комментарии 30

Небольшой UserJS для Афиши

Opera
image

С недавних пор на Афише появилась опция, позволяющая сворачивать информацию о кинотеатрах, в которых показывают фильм. Но к сожалению по-умолчанию все фильмы развернуты, лично мне это кажется неудобным.
Вот из-за этого и решил написать сей скрипт, с js я знаком достаточно плохо, так что возможно то же самое можно проделать оптимальнее, если кто-то подскажет, то буду только благодарен.
Возможно данный скрипт кому-нибудь пригодится =)
Если он вам не нужен, прошу сильно не пинать, мой первый userjs.

Ссылочка

P.S. Писал для Оперы, и проверял только на ней. На других браузерах не пробовал, но если скрипт окажется кому-нибудь нужным постараюсь сделать и для ФФ.
Всего голосов 8: ↑7 и ↓1+6
Просмотры583
Комментарии 1

Userjs, ускоряющий скроллинг страниц на хабре

Чулан
Заметил, что с вводом x-sidebar на хабре (это такая штука с рефрешилкой страницы и счетчиком новых комментариев скраю страницы) прокрутка страницы стала не то, чтобы тормозить, но некий дискомфорт появился. Проблема конечно-же в том, что сайдбар спозиционирован фиксированно и браузеру приходится при скроллинге перерисовывать всю страницы, а не только невидимую до этого часть. Отказываться от сайдбара на совсем не хотелось, поэтому я написал небольшой user-js, который делает позиционирование сайдбара абсолютным и иногда ставит его на свое место. Положительный эффект очень хорошо заметен в Опере.

homm.stratero.ru/pages/user-js/habrascroll.js

Надеюсь что вы знаете, как ставить user-js в Опере и ФФ.
Всего голосов 7: ↑6 и ↓1+5
Просмотры176
Комментарии 2

UserJS. Часть I: Введение

Opera
Это первая статья из серии, посвященной написанию пользовательских скриптов для Opera. Изначально планировалась одна единственная статья, но она уже перевалила за 10 экранов и все ещё дописывается.
  • Первая статья является кратким описанием пользовательских скриптов (далее userjs), их возможностей и соответствующих настроек Opera. Это вольный пересказ официальной документации. Все, кто написал хоть один userjs, могут с чистой совестью эту часть пропустить.
  • Вторая статья посвящена вопросам переиспользования кода в userjs, а также различным трюкам при написании пользовательских скриптов (далее userjs) для Opera, вроде сохранения настроек, доступа к буферу обмена и кросс-доменных запросов.
  • Третья статья посвящена вопросам безопасности при написании userjs, особенно при использовании продвинутых трюков, которые дают доступ к важным данным или файловой системе.
  • Четвертая статья посвящена userjs framework'у, который является готовой реализацией описанных трюков.

Статьи расчитаны на аудиторию, хорошо знающую javascript и DOM. Описаны только особенности использования javascript в userjs.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Просмотры12K
Комментарии 13

UserJS. Часть 2: Трюки

Opera
В этой статье я опишу способ переиспользования кода, а также различные трюки, специфичные для userjs.

Другие статьи серии:
Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Просмотры3.3K
Комментарии 2

UserJS. Часть 3: Безопасность

Opera
В этой статье описывается, чем опасны некоторые userjs трюки и как с этой опасностью справиться.

Другие статьи серии:
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Просмотры1.1K
Комментарии 0

UserJS. Часть 4: libretki framework

Opera
libretki — это framework, призванный упростить создание userjs и предоставить уже готовый набор полезных функций.

Другие статьи серии:

Ядро



Ядро системы представлено файлом libretki.core.js, который является развитием loader.js из второй статьи. Ядро также предоставляет некоторые базовые функции. Если все, что Вам нужно — это возможность подключать другие файлы, ядра достаточно.

Типовой скрипт с использованием libretki:
if (! ('libretki' in window)) { libretki = { __scripts: [] }; }
libretki.__scripts.push({
    name: 'habrahabr.example',
    requires: ['libretki.utilities'],

    init: function(unsafe) {
      // some code...

      libretki.core.namespace('habrahabr.example', {
        func: function() { /* ... */ },
      });
    }
});


Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Просмотры1.5K
Комментарии 40

Пользовательский скрипт Tuned Google SERPs — убыстряем интернет

IT-компании
Вот уже 5 месяцев, как накропал и пользуюсь простеньким, но удобным скриптом «Tuned Google SERPs», добавляющим несколько фич в результаты поиска Гугла. Две фичи будут интересны в-основном, тем, кто раскручивает свои сайты. А вот третья сильно облегчает ежедневный вебсёрфинг, добавляя к результатам выдачи ссылочку «cached text only»:

1246018864-clip-9kb

Что это такое? Как мы знаем, Гугл предоставляет удобнейшую возможность посмотреть копию проиндексированной вебстраницы, сохранённую прямо на его серверах. Сайты порой закрываются, порой просто падают от хабраэффекта, статьи удаляют или закрывают к ним доступ. Кэш Гугла в этом случае — просто спасение. Однако, если сайт закрыт, или просто тормозит, браузер очень долго рендерит закешированную страницу (до тех пор, пока все запросы ко внешним объектам не отработаются).

Тут Гугл вроде бы опять выручает — в шапке закешированной странице есть ссылка «Text-only version», по которой открывается уже абсолютно автономная копия страницы. Однако вот незадача — для того, чтобы получить доступ к этой копии, мы сначала должны потратить время на открытие копии с кучей внешних объектов. Неудобно! Вот эту проблему и решает скрипт — теперь автономную закешированную страницу можно открыть прямо из результатов поиска Гугла.

Да это же ускоритель интернета!


Как уже сказал выше, я планировал использовать функцию для открытия мёртвых сайтов, однако, как оказалось, это лишь частный случай. Основное применение скрипта — это акселерация интернета. Совершая поиск какой-либо справочной информации, например, для написания статей, я открываю десятки страниц ради одного-двух абзацев. Информацию сопровождают тонны шумовых данных — оформление сайта, реклама, виджеты. Всё это напичкано картинками, джаваскриптами, стилями, флешем. Добавьте к этому тот факт, что идеальных хостингов очень мало, и даже голая страница без внешних объектов часто грузится медленно.

При помощи данного скрипта я гружу страницы прямо со скоростного распределённого хостинга Гугла, исключая всякую шумовую информацию. И мне даже не надо менять настройки браузера — в любой момент времени я имею доступ к оригиналу страницы, со всеми её украшательствами.

Остальные две фичи скрипта могут быть интересны тем, кто поддерживает и раскручивает свои сайты в Гугле. Одна из них — это добавление порядковых номеров к сайтам в результатах (в Гугле этого нет, в отличии от всех остальных поисковиков), другая — подсветка розовым цветом избранных сайтов (например, раскручиваемых блогов, или просто сайтов, которым вы доверяете). Список избранных сайтов можно изменить, отредактировав файл скрипта.
Всего голосов 57: ↑51 и ↓6+45
Просмотры662
Комментарии 86

Добавляем новые поисковые операторы в Google

IT-компании
Текущих операторов мне не хватало всегда. Различных функций поиска в Google предостаточно, но вот реализованы некоторые из них совершенно неюзабельно. Например, почему для того, чтобы задать язык искомых вебстраниц, я должен каждый раз лезть в «Advanced Search» или редактировать переменные GET-запроса в урле страницы? Про на автомате вбиваемый «&num=100» я уж и не говорю. Самое странное, что часть параметров из «Advanced Search» реализована в виде операторов, часть — нет.

Я всегда хотел, чтобы появились дополнительные поисковые операторы, покрывающие эти, довольно полезные функции. И только вчера вечером я догнал: «Ведь можно реализовать их с помощью user.js!» Набросал планчик, засел на несколько часов (ибо джаваскриптер из меня никакой) и проапдейтил уже известный вам «Tuned Google SERPs».

Итак, на сей момент доступны следующие операторы:

co:<двухбуквенный_код_страны> — задаёт страну, из которой вы осуществляете вебсёрфинг. Бывает полезно, если вы решили посмотреть «а какие позиции мой сайт имеет в выдаче для Аргентины».

lang:<двухбуквенный_код_языка> — задаёт язык страниц, отображаемых в результатах. Например, вы ищете материалы на русском о новомодном геджете или программе. Как многие делали раньше? Писали англоязычное название и какое-нибудь русское слово. Например: «iphone 3g обзор». Но во-первых, это сужает круг поисков, во-вторых, Гугл последнее время ориентируется на то, что это слово было в ссылке на статью, сама статья при этом может быть англоязычной и слова не содержать. Установив скрипт, мы смело пишем «iphone 3gs lang:ru» и наслаждаемся полным диапазоном материалов на русском. Второй случай, который приходит на ум — это пересечение слов в разных языках. Например, по русским запросам иногда вылазят болгарские страницы. Я, впервые увидев их, удивлённо подумал, что это страницы очередного удаффовского сайта. При помощи оператора «lang:» можно откинуть эти посторонние страницы.

loc:<двухбуквенный_код_страны> — задаёт страну, в которой расположен вебсайт.

num:<число_от_1_до_100> — задаёт количество выдаваемых результатов. Казалось бы, почему не установить «100» в настройках поиска! Однако, как правило, классических десяти вполне хватает. Лишь в некоторых, особых случаях надо увеличить это количество.

В реализации операторов есть одно «но»: если вы, как и я, используете поисковую строку браузера или шорткаты поиска прямо в адресной строке браузера — операторы работать не будут в силу того, что это всего лишь javascript, встраиваемый непосредственно в страницу, а не в браузер. Однако подобные, «хитрые» операторы чаще всего используются для уточняющих повторных запросов, после того, как мы увидели, что обычный запрос выдал совсем не то, что мы хотели. Ну, а повторные запросы мы вбиваем уже на страницах поисковика, там, где скрипт сработает.

Устанавливаем, тестируем, сообщаем о багах, вносим дельные предложения по усовершенствованиям…

P. S. Кто пропустил — Tuned Google SERPs делает ещё несколько интересных вещей, читайте о них в предыдущих постах моего блога.
Всего голосов 45: ↑41 и ↓4+37
Просмотры751
Комментарии 41

ATL — UserJS скрипт для хабрахабра

Чулан
(Топик отправлен на хабр по просьбе danilissimus)

Здраствуйте, дорогие хабражители! :)
Сегодня я решил сделать чтонибудь полезное для вас, и при этом «реабилитироваться», повысить карму хотя бы до 3-5 :)
Начну со вступления:
Все знают, для чего нужен блок «Прямой эфир» на хабре. Однако он не очень удобен — есть ссылка лишь на новый комментарий. То есть если вас заинтриговало назание поста, а не содержимое каммента, приходиться всеравно щелкать ссылку на комментарий, а потом до посинения прокручивать страницу вверх. Не совсем хорошо, правда?
Читать дальше →
Всего голосов 24: ↑20 и ↓4+16
Просмотры277
Комментарии 10

ATL — UserJS скрипт для хабрахабра 2

Чулан
(Топик отправлен на хабр по просьбе danilissimus)
Здраствуйте снова, хабражители!
Некоторые из вас надеюсь еще помнят мой User-JS плагин для хабра?
Спешу вас обрадовать — готова новая версия! :)
И что же в ней нового?
Всего голосов 6: ↑2 и ↓4-2
Просмотры152
Комментарии 3

Хабра-редактор комментариев ноль.один

Opera
Прочитал вот это и пришла идея сделать нечто подобное для оперы. Оно, конечно, не блистает теми же возможностями, не так удобен, но и делалось для себя, сам попользовался, предлагаю на всеобщее обозрение, может, кому и пригодится, может, кто доведет до ума…
дальше обьяснение и код
Всего голосов 43: ↑32 и ↓11+21
Просмотры694
Комментарии 54

Пишем кроссбраузерный UserJS. Пример №1: меняем логотип Яндексу

GreaseMonkey
Firefox, Opera, Safari и Chrome поддерживают UserJS. Все по разному. Я планирую написать серию статей про то как писать скрипты для этих браузеров. В день по одной.

Сегодня мы поменяем логотип Яндекса на Гугловый. Такой вот бесполезный скрипт.

Yandex with Google logo

yandex-with-google-logo.user.js:

// ==UserScript==
// @name      Google logo on yandex.ru
// @include   http://www.yandex.ru/*
// ==/UserScript==

var logo = document.querySelector("img[src$='logo.png']");
if (logo) {
  logo.src = 'http://www.google.com/intl/en_ALL/images/logo.gif';
  logo.removeAttribute('height');
}


Читать дальше →
Всего голосов 92: ↑83 и ↓9+74
Просмотры4.6K
Комментарии 26

Пишем кроссбраузерный UserJS. Пример №2: переопределяем alert()

GreaseMonkey
Начало: Пример №1: меняем логотип Яндексу

Прошлый раз меня спросили: "А из UserJS есть доступ к переменным страницы?".

Ответ: да.

Я покажу пример с функцией alert(). alert — переменная страницы, метод window. Заместо alert может быть любая другая переменная.

Читать дальше →
Всего голосов 38: ↑30 и ↓8+22
Просмотры2.3K
Комментарии 13

Пишем кроссбраузерный UserJS. Пример №3: TwitPic thumbnails

GreaseMonkey
Schwarzenegger: Buddy Bison and me in Washington @ Natl Park Trust event

twitpic-thumbnails.user.js добавляется на страницу твитера привью картинок с twitpic. Работает как минимум в Opera, Firefox Greasemonkey, Google Chrome и Safari GreaseKit.

Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Просмотры1.8K
Комментарии 6
1