Рейтинг@Mail.ru
загрузкаидет загрузка

Полезные скрипты для Opera 9.6x или Расширяем функциональность замечательного браузера

Opera must have


Чем гордятся пользователи Firefox, так это кучей расширений (полезных и не очень), которые написаны под этот браузер. Но и для Opera есть своебразная замена расширениям - пользовательские js скрипты, которые добавляют новые фишки в нашу любимую Оперу.

Умельцы уже давно сконструировали Opera AC, которая обвешана по самое небалуйся кучей скриптов, но мне сборка не особо нравится, т.к. во-первых вся эта функциональность раздражает, особенно когда половина примочек не нужна, во-вторых я полностью поддерживаю представителя Оперы на хабрахабре Илью Шпанькова.

Цитата:
Всем, кто теряет голову от радости при использовании Opera AC советую задуматься над такими фактами:

1. Вы всегда используете более старую версию браузера в составе Opera AC, т.е. - с открытыми дырами, отсутствующими в актуальной текущей версии.
2. Любые правки меню, добавления JS, нестандартные скины и прочие "улучшения" приносят вам гору непредсказуемых багов, отсутствующих в оригинальной "чистой" версии.
3. При попытке обновиться самостоятельно до более новой версии Opera вы получите малопригодную к использованию программу.
4. Большинство из того, что добавлено в Opera AC, вы не будете использовать никогда. Оно вам надо? Гораздо проще взять оригинальную версию и добавить в неё самостоятельно пару-тройку дополнений, которых вам, как вам кажется, не хватает.

Более подробно все проблемы, связанные с самосборными версиями, изложены в данной статье.

Поэтому путь с самостоятельным добавлением дополнений по мне более правильный и удобный. Далее список из самых полезных скриптов для Оперы (естественно с моей точки зрения).

[!] Операненавистникам и фаерфокс фанам просьба не читать!
[!] Скрипты будет постепенно добавляться, если они мне понадобятся. Пока расскажу только про два дополнения.

Чтобы заставить Оперу обрабатывать расширения идем в Инструменты } Настройки } Дополнительно } Содержимое } Настроить JavaScript и задаем папку пользовательских файлов JavaScript. В нее нужно положить нижележащие js скрипты.

Все дополнения были проверены на Opera 9.64, как на Windows версии, так и Linux. Это важно, т.к. сам недавно распробовал Ubuntu и частенько в ней зависаю.

UPD power drag работает и под Opera 10. Google Translation не проверял, отказался от его использования.

Цитата:
power drag
Версия: 1.0.7

Предназначение: изменение размеров полей ввода на сайтах. Во многих случаях поля бывают очень мелкие и очень неудобно писать большие сообщения. Расширение призвано устранить эту неприятность. Нажали Shift и можно изменить размеры окна, потянув за правый нижний угол, как вам удобно. Также позволяет изменить размер картинок. Двойной клик по углу возвращает элементу начальный размер.

Теперь править шапку на форуме того же димона на порядок удобнее.

До

opera_js_1.gif (68.94 Kb)

После

opera_js_2.gif (135.93 Kb)

З.Ы. Просмотрев код можно кой-чего понастраивать :)
  • Если охота, чтобы размер можно было менять, не нажимая шифта, заменяем в скрипте строчку
    var enableOnModifiersOnly = true;
    на
    var enableOnModifiersOnly = false;
  • Вместо шифта можно использовать Alt или Ctrl, или даже все сразу. В строке
    var modifiers = {altKey:null,ctrlKey:null,shiftKey:true};
    заменяем null на true, для нужной клавиши. Ну или true на null для отключения.
  • Также можно задать для каких объектов (textarea, iframe, object, img, input) можно применять изменение размера. Мне например, кроме textarea (поля ввода) ничего и не надо. Например я хочу убрать реагирование на картинки. Ищем строку вида
    {nodeName:'img',resizeh:true,resizev:true,
    и заменяем на
    {nodeName:'img',resizeh:false,resizev:false,
    По аналогии можно убрать и остальные элементы.
  • Почему я изначально убрал обработку img? В Next Generation CMS картинки BB-кодов 16х16 и не очень удобно нажимать, когда еще скрипт предлагает ее растянуть. Решение было найдено позже: в строке
    validate:function(target){return target.offsetWidth>12||target.offsetHeight>12  ? this : null;}},
    поправить проверку на размер изображения. Например так:
    validate:function(target){return target.offsetWidth>20||target.offsetHeight>20  ? this : null;}},

Больше ничего на глаза не попалось, да и собственно пока от ресайзера ничего и не нужно.

Цитата:
Google Translation with Tooltip

Версия: 1.9

Предназначение: перевод выделенного текста на странице через сервисы: Google Translate, Babel Fish Translation и WorldLingo. Часто читая какие-нибудь зарубежные публикации понимаешь, что не хватает знания языка, особенно если это не английский, а, например, французский. Это дополнение бысто и удобно переведет выделенный текст. После копирования скрипта в папку в правом нижнем углу оперы появится кнопка Enable, которая активирует дополнение.

Но здесь не все так гладко, например перевод с русского на английский происходит корректно, если только страница в utf-8, а для win1251 уже отдает кракозябры.

Настройки опять же через правку кода, но тут расставлены комментарии, так что все ясно.
var Default_Enabled=0 ; // default state
var Show_Buttons = 1 // 0= No buttons, 1=Enable/Disable button and language selectbox, 2=Only Enable/Disable button
var AutoSize=1; // AutoSize mode, 1=on | 0=off
var MaxWidth='400px'; // Max Width
var MaxHeight='180px'; // Max Height
var Width='170px', Height= '70px'; // width and height if AutoSize is off.
var SaveState=1 // save the selected language pair and enable/disable state in Cookie
var AutoDisappear=50 // Autodisappear seconds

Новые направления можно задать, добавив в
var GoogLPairs={
нужную строку, например, Французский-Русский
'French to Russian':'fr,ru',
По аналогии можно удалить ненужные направления или русифицировать надписи.

По началу меня напрягал размер кнопки, но это решаемо: ищем строку
button=new element("button","Enable");
и заменяем на
button=new element("button","0");
и
ChangeUI=function(E){ if(select)select.applyStyles(E?{display:''}:{display:'none'});button.element.replaceChild(document.createTextNode(E?'Disable':'Enable'),button.element.childNodes[0]) }
меняем на
ChangeUI=function(E){ if(select)select.applyStyles(E?{display:''}:{display:'none'});button.element.replaceChild(document.createTextNode(E?'0':'1'),button.element.childNodes[0]) }
Комментарии:
  • 12.06.2010 - 07:37 / al
  • а нет ли такого скрипта, с помощью которого можно было бы менять размеры полей ввода у wml сайтов?


последние комментарии

Ooooops

Looks like Twitter's feed isn't working at the moment.