Меню сайта
Друзья сайта
Пользовательские скрипты для Opera (UserJS)

Как известно, пользовательские скрипты (далее просто "скрипты" или "UserJS") применяются для изменения и дополнения содержимого веб-страниц необходимыми функциями.
Ниже, в алфавитном порядке, приведены описания свыше 70 наиболее известных скриптов для браузера Opera.

Напомню, что для установки UserJS достаточно скопировать файл в вашу папку UserJS. Если её ещё нет, то создайте папку (например, Opera\userjs) и укажите её в меню Настройки→Дополнительно→Содержимое→Настройки Javascript.

Нужно отметить, что если вы до этого изменяли "Настройки для сайта", то скрипты на этих сайтах могут не заработать и потребуется правка override.ini.

Также следует заметить, что в Opera 9.5+ несколько изменена работа со скриптами, точнее исправлен баг с неверным считыванием интернациональных символов. И соответственно, скрипты содержащие такие символы, следует пересохранить в кодировке UTF-8, без BOM.

a-lib-stacktrace.js и a-lib-xmlhttp-cd.js - Реализация кросс-доменного XMLHttpRequest для Opera.

aagmfunctions.js - Эмулирует некоторые функции Greasemonkey. Используется для обеспечения лучшей совместимости со скриптами от FireFox.

allinbackground.js - Открывает ссылки в фоне по Ctrl+Click.

allow-ini-variables.js - Позволяет использовать внутренние переменные Opera (%c, %t) в JavaScript-е.

alt2title.js - Если не задан тэг Title, то копирует в него содержимое тэга Alt. Это нужно для "правильного" отображения тэга Alt в качестве всплывающей подсказки у картинок, как это делает IE. (let-me-see-img.js обычно лучше)

autocopy.js - Копирует выделенный текст с форматированием в буфер обмена. Только для Windows.

autosizer.js - Подгоняет размер изображений открытых на отдельной странице. Включает режимы "Original", "Shrink to Fit", "Maximize", "Fit to Width" и "Fit to Height". Обновлённая версия здесь. А здесь версия для Opera 9.5.

bbcode.js - Вставляет в форму ответа любые BBCode и HTML тэги.

block-external-scripts.js - Блокирует загрузку скриптов с других доменов. Это убирает рекламу реализованную на js, например, Google AdSense или "всплывающие окна v2.0", наподобие этого.

blockexternal.js - Блокирует скрипты, картинки, фрэймы и флэшки с других доменов. В большинстве случаев это реклама. Имеется белый список.

block_external.js - Более продвинутая вариация на ту же тему от Mikivanch. Кроме прочего, позволяет блокировать картинки по размеру. Не блокирует скрипты.

BlockIt.js - Блокер скриптов. Реализует часть функций расширения NoScript для FireFox.

bug-me-not.js - Используя сервис BugMeNot.com ищет логины и пароли для сайтов требующих аутентификации. Вызывается по Ctrl+Shift+Double Click. Версия для Opera 10 есть здесь.

convert2phf.js - Сохраняет страницу в phf или mht. Страница сохраняется со всеми изменениями сделанными с помощью javascript.

coolirisalike.js - При зажатии Ctrl и наведении курсора мышки на ссылку, показывает окно предпросмотра. (попытка реализовать аналог Firefox-ового расширения Cooliris Previews).

devConsole.js - Консоль разработчика. Для работы в качестве UserJS замените первую строчку «(function()» на «function ujs_devConsole()», а последнюю «})()» на«}» и используйте кнопку: Консоль разработчика.

disable-script.js - Блокирует все скрипты на сайтах, но позволяет использовать UserJS.

dlembed.js - Двойной клик по пустому месту страницы, добавит перед каждой флэшкой ссылку для её скачивания. Существует версия в виде кнопки.

DocumentViewer.js - Показ в браузере документов формата pdf, ppt, doc, xls используя веб-сервисы.

extra-download-links.js - Добавляет ссылки на картинки и флэш в боковую панель "Ссылки". Здесь более новая версия.

fix-content-type.js - Исправляет веб страницы, которые неправильно отдаются сервером как plain text (вместо HTML).

fix-gzipped-pages.js - Исправляет дважды сжатые gzip-ом страницы.

fix-long-title.js - Opera не может сохранить страницы со слишком длинным заголовком. Скрипт это исправляет.

FlashBlock.js - Флэшблокер для Opera 9. Аналог расширения Flashblock для Firefox. Отключить блокирование флэша на текущем сайте, можно с помощью хоткея Ctrl+Shift+F.

get-link-info.js - Выдаёт информацию о ссылке. А именно: размер, дату, контент тип. Достаточно глюкав и потребляет больше трафика чем отдельные утилиты. Настоятельно рекомендуется применить фикс.

google-translate - Перевод текста, в том числе выделенного и в форме ответа, с помощью Google Translate.

google-translation with tooltip - Вариация на ту же тему от Ayush, ориентированная на перевод отдельных слов.

hide-objects.js - Скрывает флэш на страницах. Разблокировка двойным кликом. (Flash-блокер лучше).

hide-js-popups.js - Скрывает плавающие окна созданные с помощью javascript.

highlighter.js - Подсвечивание результатов поиска. В том числе в Google и с использованием регулярных выражений.

HighlightText.js - При нажатии на кнопку, изменяет цвет текущего выделения на жёлтый и запоминает это в кукисах. Аналог расширения Line Marker для FireFox.

image_reloader_for_opera.js - Подгрузка изображений по Ctrl+Click или зажатию левой кнопки мыши. Версия для Opera 9.5.

keyboard.userjs.js - Виртуальная клавиатура, которая добавляется к тестовым полям на странице.

let-me-see-img.js - На месте невидимых незагруженных изображений показывает рамку. Кроме того, укорачивает слишком длинные надписи на месте изображений и копирует содержимое тега alt в title.

link-alert.js - Рядом со ссылками показывает иконки зависящие от того куда они ведут. Достаточно глюкав. Лучше использовать links-with-icons.css.

linkifier.js - Делает кликабельными текстовые ссылки. Могут быть проблемы со скоростью.

linkify-txt.js - Делает кликабельными ссылки в текстовых файлах.

logger.js - Записывает в файл историю посещённых страниц. Нужна Java.

middleclickJSOverride.js - Обеспечивает правильную работу, в случае клика колёсиком по javascript-ссылке.

mouse-gesture-track.js - Служит для визуализации мышиных жестов. Должна стоять галочка "Позволить контролировать правую кнопку мыши". Версия для старых версий Opera находится здесь. А вариант использующий canvas здесь.

multipopup.js - Красивые полупрозрачные подсказки с дополнительными возможностями. Не забудьте отключить встроенные. Достаточно конфликтен.

no_meta_redirect.js - Отключает meta-редирект.

noclicktoactivate.js - Избавляет от необходимости дважды кликать на флэшку. Версия для Opera 9.5 здесь.

open-in-background-with-long-press.js - Открывает новую вкладку в фоне при зажатии ссылки на пол секунды.

open-in-new-window.js - Заставляет все ссылки открываться на новой странице. Работает только на сайтах указанных в начале скрипта.

open_browser.js - Открывает указанные сайты в заданном браузере. Только для Windows.

ops.js - Автозаполнение форм. Ещё два варианта есть здесь.

ospell.js - Онлайн проверка орфографии в форме ответа. Для включения русского, поставьте: «ENGINE: 1» и «defaultLang: 'ru'».

pdfHandler.js - Избавляет от пустой страницы при открытии файлов *.pdf, *.doc и *.xls.

Remove_it_permanently-for_Opera.js - Удаляет "кликнутый" элемент страницы. Насовсем. Только для Windows.

removeblank.user.js - Удаляет все атрибуты «target="_blank"», которые вызывают открытие ссылки на новой странице.

robosticky.js - "Клейкие записки" на страницах.

safe-alert.js - Позволяет остановить появление alert-ов на странице.

scroller.js - Даёт возможность скроллить страницу, зажав Ctrl и левую кнопку и передвигая мышь.

seobar3.js - Инструмент для специалистов по продвижению веб-сайтов. Для открытой в браузере страницы SEObar может отображать следующую информацию: Alexa Traffic Rank, Google Page Rank, Тематический индекс цитирования Яндекса.

show-ip.js - Показывает в нижней части страницы, IP текущего сайта (для чего нужна Java) и ваш собственный.

Smilize.user.js - Преобразует текстовые смайлики (например, :), :-), :d, biggrin и т.д.) в анимированные графические. Требует aagmfunctions.js.

snap-links.js - Позволяет открыть сразу много ссылок, просто обведя их.

snap-images_userjs.js - Позволяет открыть несколько изображений, обведя их.

text-replacement.js - Заменяет заданный текст на всех страницах.

titleprotector.js - Не позволяет страницам менять заголовок окна браузера с помощью JavaScript.

xerath-plugsome-toolbar.js - Показывает возле каждой флэшки панельку с кнопками Reload, Save, Play и Pause. Две последних работают не везде.

xerath-power-drag.js - Позволяет изменять размер textarea (формы ответа) и изображений с помощью мышки.

xml-tree.user.js - Показывает XML файлы в виде дерева и с подсветкой синтаксиса.

zoom-image.user.js - Позволяет уменьшать и увеличивать отдельные изображения.

zz-spoof-id.js - При выборе в браузере маскировки под IE или Firefox, обеспечивает полную маскировку и для javascript, убирая window.opera и создавая некоторые специфичные для этих браузеров свойства. Существует дополнительный скрипт для Opera 9.5+, который эмулирует эту особенность IE, нужную на некоторых сайтах.

Сайт специфичные скрипты


adfind.js - Скрипт дополняет поиск в Google, другими поисковыми системами - как это делается в Яндексе или МЕТЕ.

ExpertsExchangeFilter.user.js - Этот скрипт очищает experts-exchange.com от предложений заплатить за просмотр ;-) и показывает весь контент.

ikariam.js - Скрипты для игры Ikariam.

lj_unfolder.user.js - А этот скрипт добавляет в ЖЖ, возможность подгружать комментарии из длинных тредов прямо в страницу.

rapidshare_com.js и другие - Упрощают скачивание с файлообменников.

vkopt.js - Скрипты для vkontakte.ru.

youtube_com.js и другие - Скрипты для упрощения скачивания флэш-видео.

zaycev_net.js и другие - Ну а эти скрипты позволяют легче скачивать музыку.

Микро-faq для разработчиков


Q: Что из себя представляет userjs?
A: Это обычный javascript, выполняемый на каждой странице (впрочем, это настраиваемо) и в её контексте. Из последнего следует, что вам следует избегать создания глобальных переменных и функций, которые могут конфликтовать с имеющимися на странице (обычным решением является использование анонимной функции). Кроме того, userjs способны использовать несколько функций из объекта window.opera, недоступных обычным скриптам и предназначенных, в основном, для исправления ошибок на веб-страницах. Познакомиться с некоторыми тонкостями написания userjs, можно на userjs.org.

Q: В какой момент он запускается?
A: Перед первым скриптом на странице, а при отсутствии скриптов аналогично "DOMContentLoaded", т.е. после загрузки самой страницы (только страницы, без изображений и т.п.). Учитывая, что скрипты обычно присутствуют уже в "<head>", в большинстве случаев userjs будет запускаться ещё до загрузки "<body>". Так что если вам нужна работа с DOM, потребуется использовать document.addEventListener('DOMContentLoaded', function(){...}, false).

Q: Как в userjs получить информацию с другого домена?
A: Используйте cross-document-messaging. В качестве простого примера см. show-ip.js.

Q: Почему userjs не работают на https?
A: Из соображений безопасности. Но вы можете включить это здесь.

Некоторые баги:


«window.getSelection()» - Теряются переносы строк. Используйте «document.getSelection()» или посмотрите как обойдён этот баг в quick-reply.js.
«window.getSelection().containsNode()» - Всегда false.
«document.selection.type» - «None», даже если существует выделение. Opera 9.5+.

«mousedown» - Перестаёт работать драг-н-дроп на странице. Используйте вместо него «BeforeEvent.mousedown».


© А. Рузанов, 16.03.2008 (обновлено 27.03.2009)
Сайт управляется системой uCoz
Календарь новостей
«  Декабрь 2024  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031
Статистика
Реклама