Расширяем функционал. Шаг 3


Recommended Posts

Шаг 1. Собираем аддоны быстрого доступа для боковой панели.
Шаг 2. Портируем простые расширения, написанные для других браузеров.
Шаг 3. Собираем свое первое расширение, запускающее скрипт.

Итак, релизнулся Maxthon 4.4.4.2000 со встроенным AdBlockPlus. Я, мягко говоря, не в восторге. Впервые за пять лет я чувствую, что меня вообще ничего не держит. Наверное, это правильный шаг. MX становится всё дружелюбнее для новых пользователей. Для расширения аудитории это важно. А значит, возможно, это и приведет пацанов к успеху. Я же пока слегка раздосадован. Меня смущает не просто отказ от AdHunter'а, который в комьюнити хоть и ругали, но любили и пытались допилить. Меня смущает настолько возросшее потребление памяти. Если это исправят (хотя бы мегабайт на 100), я смерюсь.
Пока же сохраняется высокая вероятность того, что я уйду. Путей к отступлению пока нет, но скоро появится стабильный Vivaldi, а Firefox наконец-то начнет использовать несколько процессов и перейдет на x64. В общем, эти 5 лет ожиданий и веры для меня могут закончится. А значит, нужно на всякий случай рассказать, какой ерунде я научился. И, возможно, кому-то это пригодится. Хотя, в свете последних событий, я бы ждал выхода MX5... который станет Хромиумом. И мои советы будут никому не нужны. Грусть-печаль...

Пришло время самим собрать простенькое расширение. Типа того, что мы портировали в прошлый раз с Google Chrome. Наше расширение будет запускать скрипт. Это будет его единственная функция. Никаких настроек, только кнопка, только хардкор!
Я бы разделил всю предстоящую работу на два этапа:

  • поиск скрипта
  • написание расширения

Угадайте, какой из них сложнее? Правильно! Поиск скрипта.
Есть куча сайтов, на которых вы легко найдете кучу полезных скриптов. ViolentMonkey, например, работает с сайтом GreasyFork. Вот только некоторые из этих скриптов вообще не работают в Maxthon, другие же не работают так, как нам нужно. Заострять на этом внимание сейчас особого смысла нет. Возможно, я расскажу о неудачных попытках в следующей части, но и в этом особого вмысла нет. Это имело бы смысл, если бы кто-то указал мне на мои ошибки. А учить людей повторять их глупо.

Начнем мы вот с чего... Все ведь знают Microsoft? Их принято ругать. А между тем, парни запилили работающий поиск со своими приколюхами, которых нет у других. Переводчик вроде бы не сильно тупит. Онлайн редактирование документов, все дела. В общем, я не вижу в Microsoft ничего плохого, кроме их стремления к наживе. Но это сейчас нормально.

  • Иден на сайт Bing. Открываем переводчик.
  • Ищем пункт "Переводить в любом браузере". Открываем.
  • В графе "Select your language" выбираем родной для нас язык. Я думаю, это русский.
  • В графе "Install Bookmarklet" кликаем правой кнопкой по ссылке "Translate", выбираем пункт "Копировать адрес ссылки".
  • Открываем стандартый блокнот Windows, вставляем в него скопированную ссылку:
    javascript:(function(){var%20s%20=%20document.createElement('script');%20s.type%20=%20'text/javascript';%20s.src%20=%20'http://labs.microsofttranslator.com/bookmarklet/default.aspx?f=js&to=en';%20document.body.insertBefore(s,%20document.body.firstChild);})()
    Это и есть скрипт, который будет переводить страницы на выбранный нами язык.
  • Сохраняем документ под именем script.js
    Если не знаете, как это делается, вам сюда.
  • Следующее, что нам нужно сделать, это написать манифест def.json
    [{
            "author": "A.S."
            "website": "http://www.bing.com/translator/"
            "date": "04.02.2015"
            "type":"extension",
                    "frameworkVersion":"1.0.0",
                    "version":"1.0.0",
            "guid": "{9D67C257-F02B-415F-9829-4A0BB0A14AFB}",
            "name": "Bing ru-RU Translator"
                    "icon": "icon",
            "title": {"en": "Bing ru-RU Translator", "ru-ru": "Переводчик Bing"},
                    "description": {"en": "Bing ru-RU Translator"}
            "actions": [{
                    "type": "script",
                    "entryPoints": ["toolbar"],
                    "js": ["script.js"]
                    }]
    }]
  • Готово. Осталось только подобрать иконку и упаковать. Если вы не знаете, как это делается, вам опять же сюда.

Как видите, чем дальше в лес, тем проще нам становится. Если у нас есть подходящий скрипт, мы без труда можем превратить его в расширение. Кстати, если тупо загнать этот скрипт в закладки, можно переводить страницы без всяких расширений. Поэтому Microsoft и называет это "Переводить в любом браузере". Это работает и в Maxthon, и в IE, и в Nitro. Хоть чему-то Nitro научите!
Было время, когда на таких скриптах в закладках и держался весь функционал... Золотые годы!

Шаг 4 - Расширения посложнее. Что-то уровня SaveFrom.Net или даже YouTube Center. Но не факт, что четвертая часть будет. Мои расширения отказываются работать, но отличий от того же YouTube Center найти не могу. Я, как уже кучу раз говорил, все-таки не технарь...
 
P.S. Мы переехали на новый форум. Старые обсуждения были любезно скопированны для нас администрацией. Вот только сделано это было, судя по всему, несколько месяцев назад. Мои посты уже давно выглядят не так. Да и оформление слетело. Пришлось редактировать. Так что, если что-то не сходится, или спрашивайте тут, или сверьтесь с оригинальным постом.

Шаг 1. Собираем аддоны быстрого доступа для боковой панели.
Шаг 2. Портируем простые расширения, написанные для других браузеров.
Шаг 3. Собираем свое первое расширение, запускающее скрипт.

Bing ru-RU Translator.mxaddon

Link to comment
Share on other sites

  • 2 months later...

Ссылки битые....

Форум новый. Исправлю. Только лень. Тут мало тупо ссылки исправить, тут надо и текст отредактировать. Код не выделяется больше, а местами вообще не отображается. В общем работы тьма. Попробуй пока глянуть эту тему на старом форуме, если интересно.

UPD. Обвновил пост про аддоны быстрого доступа к мобильным версиям сайтов для боковой панели. Это азы. Начать лучше оттуда.

UPD 2. Исправил. Но это дикая морока. Так что переезд мне уже не нравится. А впереди еще расширения и скрипты для Nitro, которые я вообще тут найти не могу...

Link to comment
Share on other sites