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

Scripter

автор: firstzerg

Это расширение добавляет пользовательский CSS и JavaScript с поддержкой JQuery на страницы сайтов.

При посещении страниц http://www.google.ru/* будет выдаваться сообщение «Это сайт гугл»

Также в настройках дополнения можно установить «Общие скрипты», которые будут выполняться перед пользовательскими на всех сайтах.

Для примера, Вы можете установить следующие настройки для Scripter:
1. Откройте настройки дополнения
2. Создайте текстовый файл со следующим содержимым:
<"*":"alert('message for all sites');","www.google.com":"<\"event\":\"onready\",\"script\":\"alert('google page');\",\"comment\":\"\">«>
3. Выберите этот файл в настройках Scripter, в разделе «Экспорт/Импорт в текст»
4. Нажмите кнопку «Импортировать» ниже.
5. Перейдите на страницу http://www.google.com/imghp

В скриптах можно использовать переменную «values», функции scripter_data(key [, value]) и scripter_save()
Переменная «values» синхронизируется с хранилищем для каждого сайта

Снимки

О расширении

Похожие

Evernote Web Clipper

Используйте расширение Evernote, чтобы сохранять интересные материалы из Интернета прямо в свой аккаунт Evernote.

Оценка: Всего оценок: 678

eLang: Learn languages with Netflix & Youtube

Изучай язык путем чтения/просмотра любого интересного для тебя материала. Любая статья, любое видео может стать уроком для изучения языка.

Оценка: Всего оценок: 4

Адаптер Рутокен Web Плагин

Оценка: Всего оценок: 0

Кнопка «Пост!» (Postila.ru)

Постила — разложи интернет по полочкам!

Оценка: Всего оценок: 34

Enhancer for YouTube

Широчайший функционал для улучшения просмотра видео на YouTube!

Источник

Userscripts. Углубляемся

Как упоминалось в предыдущей статье, юзерскрипты поддерживаются всеми современными браузерами. И даже кое-как поддерживаются в IE7 и выше.

Пару слов о движках

Качество поддержки юзерскриптов находится на разном уровне в разных браузерах. Лучше всего поддержка юзерскриптов выполнена в браузерах Firefox и Chrome.
Эти браузеры предоставляют более менее дружелюбные интерфейсы для управления юзерскриптами.

Самые жесткие ограничения на юзерскрипты накладывает Chrome. Но почти все эти ограничения обходятся упаковыванием скрипта в простое расширение. Подробности этого процесса мы обсудим в следующей статье.

Теперь поговорим подробнее о поддержке юзерскриптов в отдельных браузерах.

Поддержка в Firefox

Mozilla Firefox поддерживает юзерскрипты после установки расширения GreaseMonkey (в русском сленге — обезъяна) или Scriptish.
После установки расширений фаерфокс получает поистине мощную поддержку юзерскриптов.
Рассматриваемая далее информация применима в первую очередь к GreaseMonkey (это расширение было первым).

Исторически, все юзерскрипты писались под браузер Firefox именно из-за наличия удобного плагина.
Это обусловливает тот факт, что все браузеры, которые поддерживают юзерскрипты, дополнительно следуют основным правилам спецификации GreaseMonkey по разбору метаданных.
Это означает, что все скрипты, которые были написаны под GreaseMonkey, будут устанавливаться и запускаться в браузерах, поддерживающих юзерскрипты (с минимумом модификаций).

К сожалению, ни один браузер, кроме Firefox, не предоставляет GM API. Этот печальный факт заставляет использовать эмуляции GM API через расширения или дополнительные юзерскрипты.

В случае разработки юзерскрипта «с нуля», я считаю предпочтительным отказаться от эмуляции GM API и использовать «велосипеды» собственного производства. Это позволяет уменьшить число зависимостей юзерскрипта, что, в свою очередь, позволяет вести разработку в рамках концепции одного файла: модифицировать придётся всего один файл; пользователю нужен всего один файл для запуска юзерскрипта.

Концепция одного файла позволяет существенно уменьшить сложность поддержки и кроссбраузерной разработки юзерскриптов!

Поддержка в Chrome

Google Chrome поддерживает юзерскрипты нативно, т.е. не требует установки плагинов/расширений. Можно (иногда нужно) упаковать юзерскрипт в расширение.

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

Поддержка в Opera

Opera поддерживает юзерскрипты нативно, но не предоставляет сколь-нибудь дружелюбного пользовательского интерфейса для управления скриптами. Такой интерфейс доступен в расширении UJS Manager.

Поддержка в IE

IE7, IE8, IE9 поддерживают юзерскрипты при использовании плагина Trixie.
К тому же, имеется более продвинутый плагин IE7Pro. В IE7Pro помимо поддержки юзерскриптов имеется множество других бесполезных возможностей.

Важно: Если не отключать дополнительные «приблуды» в IE7Pro, то плагин может изрядно тормозить браузер, особенно на тяжёлых страницах.

Как видите, с запуском скриптов у IE дела обстоят паршиво. Остаётся радоваться, что такая возможность вообще имеется.

Важно: Оба плагина могут существовать в системе одновременно, не мешая друг другу.

Важно: Учитывая вышесказанное, я всегда предлагаю своим пользователям использовать Trixie.

Поддержка в Safari

К сожалению, мне не довелось поработать с данным браузером. Буду рад любым разъяснениям в комментариях!
Поговаривают, что для Safari нужны SIMBL и плагин GreaseKit.

Поддержка в Mobile Safari и прочих браузерах

В виду отсутствия поддержки юзерскриптов в менее популярных браузерах и мобильных браузерах, юзерскрипты придётся предоставлять в виде букмарклета.
Соотстветственно, метаданные в таком случае не нужны, а букмарклет придётся запускать руками после каждого рефреша.

На последок

Источник

Расширения для Opera: Обмен сообщениями

Вступление

Обмен данными между фоновым и внедряемым скриптами

Opera использует метод postMessage() для отправки сообщения. Если вы хотите отправить данные из фонового скрипта во внедряемый скрипт, то нужно написать следующий код в фоновом скрипте:

После того, как вы послали сообщение, внедряемый скрипт должен принять его, что может быть сделано следующим образом:

Вот так всё просто. В указанном выше коде, фоновый скрипт отправляет данные внедряемому скрипту, используя метод broadcastMessage, и внедряемый скрипт принимает их. После получения данных, он сохраняет их в переменной thecatch. Необходимо помнить, что используя метод broadcastMessage, вы посылаете сообщение всем внедряемым скриптам и всплывающим окнам, поэтому необходимо использовать этот метод экономно. Обычно, вам необходимо связаться лишь с одним всплывающим окном или внедрённым скриптом (тем, который содержится именно в вашем расширении) используя метод postMessage или каналы сообщений.

Продемонстрируем это с помощью нашего первого тестового примера.

Фоновый скрипт имеет перехватчик события load, который вызывает функцию setupConnection. Вы можете наблюдать вывод метода opera.postError в Error Console (Tools > Advanced > Error Console).

Обратим внимание на следующий код:

Метод onconnect выполняется в момент, когда внедряемый скрипт расширения активируется в документе, соединяя его с фоновым скриптом. То есть, как только внедряемый скрипт загружается, метод onconnect выполняется.

Обработчик onconnect в фоновом скрипте получает обратную ссылку на внедряемый скрипт через объект event.source. Этот порт сообщений может быть использован для прямой связи с внедряемым скриптом, что демонстрируется отправкой строки «something» с помощью метода event.source.postMessage(). Попутно мы шлём небольшое уведомление в Error Console для отслеживания происходящего.

Оставим фоновый скрипт на время и обратим своё внимание на внедряемый скрипт:

Метод onmessage вызывается в момент получения внедряемым скриптом сообщения. Мы сохраняем содержимое сообщения в переменной message. Затем мы используем метод opera.postError для отправки уведомления в Error Console.

Чтобы подтвердить получение сообщения, мы шлём обратный ответ фоновому скрипту, используя объект event.source. Запомните: event.source всегда указывает на источник сообщения.

Итак, теперь мы увидели, как сообщения принимаются внедряемым скриптом и как может быть отправлен ответ фоновому скрипту.

Следующий шаг это приём сообщения фоновым скриптом и его обработка. Вернёмся снова к фоновому скрипту и посмотрим на другой участок кода:

Здесь, в момент получения сообщения, скрипт отсылает в Error Console уведомление о его получении вместе с содержимым сообщения.

Мы рассмотрели, как фоновый и внедряемый скрипты могут принимать и отправлять сообщения. Теперь разберём, как можно сделать это со всплывающим окном.

Обмен сообщениями между всплывающим окном и фоновым скриптом

Мы будем использовать второй пример расширения для этой главы. Обратите внимание, что в нём нет папки includes и внедряемого скрипта — это лишь фоновый скрипт, html-файлы, config.xml и иконка.

Из предыдущих статей вы уже знаете, как создать UI-элемент, например кнопку, так что мы не будет заострять на этом наше внимание. Давайте посмотрим на следующий код в background.js:

Как мы знаем из предыдущего примера, этот код будет выполнен, когда что-нибудь свяжется с фоновым скриптом, в данном случае это всплывающее окно. Функция шлёт сообщение «sending something» всплывающему окну и уведомление «Sent message to popup» в Error Console.

Теперь посмотрим на страницу всплывающего окна:

Здесь мы перехватываем входящее сообщение и шлём обратный ответ источнику. Так же мы, как обычно, отправляем уведомление в Error Console. Теперь всплывающее окно принимает сообщение и шлёт ответ фоновому скрипту. Осталось только получить этот ответ в фоновом скрипте.

Снова отправляемся в background.js и смотрим код:

Здесь фоновый скрипт перехватывает сообщение и отправляет в Error Console уведомление с содержимым сообщения. Как видите, мы можем использовать тот же код, что и для внедряемого скрипта.

Если вы установили расширение, то нажмите на его кнопку на панели браузера чтобы запустить обмен сообщениями и откройте Error Console, чтобы увидеть показанное на Рис. 2:
но скрипт для опера. image loader. но скрипт для опера фото. но скрипт для опера-image loader. картинка но скрипт для опера. картинка image loader. Это расширение добавляет пользовательский CSS и JavaScript с поддержкой JQuery на страницы сайтов.
Рисунок 2: Error Console и уведомления, посланные в неё из расширения.

Обмен сообщениями между всплывающим окном и внедряемым скриптом

Теперь давайте разберём, как обмениваться данными между всплывающим окном и внедряемым скриптом. Фоновый скрипт будет использован только для инициализации соединения, затем всплывающее окно и внедряемый скрипт будут общаться напрямую.

Мы можем достичь этого, создав канал связи. Вы можете узнать больше о каналах связи в спецификации кросс-документного обмена сообщениями в HTML5, на которой основывается обмен сообщениями в расширениях.

Мы рассмотрим это с помощью третьего примера расширения, так что запускайте свой текстовый редактор и посмотрим на код. В первый очередь, взглянем на фоновый скрипт. Вы заметите знакомые элементы, например добавление кнопки и всплывающего окна. Опустимся к более интересному участку.

Вначале, мы определяем глобальную переменную port, которую будем использовать позже. Посмотрим на обработчик onconnect:

В момент подключения к фоновому скрипту, он отправит сообщение ‘Respond to the port’. Мы указываем порт для отправки сообщения, но так как переменная port ещё не имеет значения, то сообщение будет отправлено как оно есть.

Теперь поглядим на внедряемый скрипт:

Здесь мы создаём новый канал сообщений. Канал сообщений будет иметь два порта, и данные могут быть отправлены и получены через эти два порта. Здесь мы отправляем данные через второй порт и получаем через первый. Затем мы отправляем сообщение, используя метод postMessage(), через второй порт канала сообщений.

Вернёмся к фоновому скрипту:

Фоновый скрипт принимает сообщение от внедряемого скрипта. Теперь ссылка на второй порт канала доступна через объект event.ports[0] и сохраняется в переменной port. Теперь фоновый скрипт готов для подключения всплывающего окна. Когда это произойдёт, метод onconnect вызывается вновь:

Теперь, значение переменной port не пусто. Оно содержит ссылку на порт канала сообщений.

Посмотрим на файл всплывающего окна:

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

Внедряемый скрипт слушает port1 канала сообщений. При получении сообщения на него, он посылает уведомление в Error Console с содержимым полученного от всплывающего окна сообщения.

Подводим итоги

Обмен данными между различными частями расширения довольно прост после того, как вы узнаете как использовать метод postMessage вместе с обработчиками onconnect и onmessage. Вы также можете использовать каналы сообщений для передачи данных, и этот подход необходим, когда данные передаются между всплывающим окном и внедряемым скриптом. Эта статья проливает немного света на передачу данных в трёх сценариях: между фоновым и внедряемым скриптами, межу фоновым скриптом и всплывающим окном, между всплывающим окном и внедряемым скриптом.

Источник

NoScript Suite Lite

автор: dr34polw

No-Script Suite Lite provides an extra security for your Browser. It allows JavaScript (inline & external) to be executed only by trusted websites of your choice. Some websites are added to the white-list by default, but you can add or remove items at any time.

Important Features:
a) Allows you to block all Scripts (inline and external) from untrusted websites (plus you can block Images, Objects, Styles and Media as well).
b) Simple and very lite: this addon does not use noticeable memory or CPU form your machine.
c) You can easily switch the extension On or Off from the toolbar popup UI.
d) Add or remove websites to the white-list table easily from toolbar-popup.
e) Beside scripts, you can also block style-sheets, images, objects and media from untrusted sources. To activate, open toolbar-popup and click on the desired option at the bottom of the panel.
f) Choose desired blocking engine, Web-Request-Observer or Content-Security-Policy from the options page.
g) Add desired whitelist or blacklist rules with regular expressions.

Note: In order to read about all the new features or reporting bugs please visit addon’s homepage (http://mybrowseraddon.com/noscript-lite.html).

Снимки

О расширении

Похожие

URL Blocker

Check URLs against a DB of explicit and sensitive content using the ThreatPoint URL checker.

Оценка: Всего оценок: 7

uBlock Origin

Наконец-то, быстрый и эффективный блокировщик для браузеров.

Оценка: Всего оценок: 2741

LastPass

LastPass, an award-winning password manager, saves your passwords and gives you secure access from every computer and mobile device.

Оценка: Всего оценок: 3030

Security Tweaks

Improve your security and browse safer with seven tweaks.

Оценка: Всего оценок: 3

Защищенный и бесплатный менеджер паролей для всех ваших устройств.

Источник

Форум

Справочник

Аналог NoScript для Opera

Однажды, после того как очередной раз на моём компьютере поселились трояны из-за посещения заражённого сайта, я подумал о возможном аналоге плагина NoScript, только для Оперы. Широко известно, что Опера поддерживает пользовательские javascript-ы, так почему бы не воспользоваться встроенным функционалом браузера и не написать свой скрипт-плагин? Изучение документации с сайта opera.com выводит нас на необходимое АПИ для управления разрешением/запретом выполнения js на страничке. События:

[BeforeScript]
[BeforeExternalScript]
[BeforeJavascriptURL]

Этого вполне достаточно для реализации затеи. Но встаёт другая проблема: откуда скрипт будет брать настройки безопасности для сайтов? Вариант установить Denwer и использовать php для хранения такой информации конечно неплох, но подходит лишь для частного случая. Поэтому выбор пал на кукисы. Но вот незадача, вредоносный скрипт так же имеет доступ к кукисам и если userjs обрабатываются раньше, то это значит, что мы можем лишь полностью блокировать выполнение javascript. При частичной блокировке вредоносный скрипт изменит наши cookies и повысит тем самым себе привелегии до нужных.
А что, собственно требуется? Четыре режима работы:

0) Полная блокировка
1) Разрешено выполнение скриптов только с данного домена
2) Разрешено выполнение скриптов с домена и его поддоменов
3) Разрешено выполнение скриптов из любого места

Чтобы вредоносному скрипту было не повадно трогать наши кукисы поступим так: если кукис с именем А (условно) отсутствует, либо его значение не равно одному из прописанных внутри скрипта-плагина, то включается режим полной блокировки. Пользователь всегда может изменить настройки для данного сайта на более лояльные.

Итак, при открытии странички первыми выполняются userjs. Плагин должен получить значения нужного кукиса и на основе его выставить во внутренних настройках (поле объекта) номер режима работы javascript. При любом из вышеуказанных событий следует проверить номер режима и принять решение на основе его значения.

Привожу ниже законченный пример реализации. У скрипта есть некоторые баги, но в целом работает и для демонстрации идеи вполне подойдёт. Для безопасного серфинга следует изменить значения некоторых переменных на случайный набор символов:

Меню настройки вызывается по CTRL+ALT+двойному клику в любом месте документа.
Полный код скрипта:

Плагин не загрязняет окружение переменных «window» и вообще не использует глобальные переменные.
Данный код не претендует на абсолютную корректность, а представлен скорее как демонстрационный пример. Если мы не возьмёмся за свою безопасность, она возьмётся за нас но скрипт для опера. wink. но скрипт для опера фото. но скрипт для опера-wink. картинка но скрипт для опера. картинка wink. Это расширение добавляет пользовательский CSS и JavaScript с поддержкой JQuery на страницы сайтов.

P.S Для работы скрипта необходимо добавить в начало кода строчки:

. которые почему-то данный движок не переваривает но скрипт для опера. smile. но скрипт для опера фото. но скрипт для опера-smile. картинка но скрипт для опера. картинка smile. Это расширение добавляет пользовательский CSS и JavaScript с поддержкой JQuery на страницы сайтов.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *