Sign in to follow this  
Followers 0
A.S.

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

2 posts in this topic

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

Итак, мы уже умеем создавать аддоны быстрого доступа для боковой панели браузера Maxthon. Достижение, надо сказать, спорное. В Firefox подобного функционала можно добиться в пару кликов, но в Maxthon это выглядит лучше. А если попытаться и в Firefox или Chrome сделать это "красиво", то придется заморочиться. И заморочек будет больше, чем с Maxthon.
Так или иначе, отныне нам не нужно обшаривать весь интернет ради простенького аддона с быстрым доступом. Если его нет в Maxthon Extentions Center, мы спокойно соберем свой. И будет нам счастье...

В этот раз мы попытаемся портировать простенькое расширение, написанное под другой браузер. В нашем случае это будет Google Chrome. Будем надеяться, что всё будет работать как надо...
Всё началось этим летом. Я клипал аддоны быстрого доступа пачками. Я не технарь, и первое время всё это казалось мне чем-то значимым. Спустя какое-то время мне захотелось большего, а Maxthon в то время дико глючил (до того HTML5 фикса). Особо напрягал YouTube, и я стал искать способы решения. Но решения нашлись только под Google Chrome. И это был новый челлендж!

Итак, у нас есть расширение Disable Youtube™ HTML5 Player для Google Chrome. Отрываем его. И что мы видим? Иконки, манифест и скрипт. По-моему, это не намного сложнее того, что мы делали до этого. И есть только один способ это узнать!

  •  
  • Мы не будем заморачиваться с созданием новой папки и копированием. Порт так порт! Тупо подредактируем хромовское расширение так, чтобы оно могло работать в Maxthon.
  • Создаем уже известную нам папку icons, переносим туда иконки. Помним, что иконки должны называться icon_48.png, icon_32.png и icon_16.png. Благо, в Хроме иконки тоже должны быть в формате .png, так что просто добавляем "_" в названия. Файл icon128.png можно вообще удалить.
  • Файл manifest.json должен бы стать основой для нашего файла def.json, вот только он вообще не похож на то, что нам нужно. Но формат .json нам подходит. Поэтому тупо переименовываем файл, а его содержимое стираем.
  • Новый файл def.json нам придется написать с нуля:
    Начинаем все, как обычно, с указания автора, которого я не знаю, и его сайта.
    [{
         "author": "I don't know!"
         "website": "https://chrome.google.com/webstore/detail/disable-youtube-html5-pla/enmofgaijnbjpblfljopnpdogpldapoc"
    Поскольку для меня это был первый опыт работы с расширениями (до этого я только однажды подредактировал Google Quick Scroll, особо не вдаваясь в его работу), я допустил пару довольно грубых ошибок, которые пришлось исправлять.
            "date": "09.07.2014"
            "type":"extension",
                    "frameworkVersion":"1.0.4",
                    "version":"1.0.4",
            "guid": "{B8540D16-D967-4D6C-A9C4-3F19FB77DDFC}",
            "name": "Disable Youtube™ HTML5 Player"
                    "icon": "icon",
            "title": {"en": "Disable Youtube™ HTML5 Player", "ru-ru": "Выключатель HTML5 на YouTube"},
                    "description": {"en": "Disable Youtube™ HTML5 Player"}
    В графе "type" в этот раз указываем значение "script". Меняется и "entryPoints". Это и было моей первой ошибкой. Первая версия "моего" расширения запускалась по клику. Теперь я знаю, как это исправить:
            "actions": [{
                    "type": "script",
                    "entryPoints": ["doc_start"],
                    "js": ["script.js"]
                    }]
    }]
  • Конец.

Таким образом, опуская мои объяснения у вас должно было получиться что-то вроде этого:

[{
    "author": "I don't know!"
    "website": "https://chrome.google.com/webstore/detail/disable-youtube-html5-pla/enmofgaijnbjpblfljopnpdogpldapoc"
    "date": "09.07.2014"
    "type":"extension",
        "frameworkVersion":"1.0.4",
        "version":"1.0.4",
        "guid": "{B8540D16-D967-4D6C-A9C4-3F19FB77DDFC}",
    "name": "Disable Youtube™ HTML5 Player"
        "icon": "icon",
    "title": {"en": "Disable Youtube™ HTML5 Player", "ru-ru": "Выключатель HTML5 на YouTube"},
        "description": {"en": "Disable Youtube™ HTML5 Player"}
    "actions": [{
        "type": "script",
        "entryPoints": ["doc_start"],
        "js": ["script.js"]
        }]
}]

Еще раз: я понятия не имею, как это всё работает. Я узнаю все эмпирическим путем, тупо пробуя! Так что я понятия не имею, к чему это может привести.

Так в Maxthon Extentions Center появилось расширение, переключающее YouTube-проигрыватель на flash, независимо от того, какой плеер по умолчанию был выбран.
 
 
P.S. Мы переехали на новый форум. Старые обсуждения были любезно скопированны для нас администрацией. Вот только сделано это было, судя по всему, несколько месяцев назад. Мои посты уже давно выглядят не так. Да и оформление слетело. Пришлось редактировать. Так что, если что-то не сходится, или спрашивайте тут, или сверьтесь с оригинальным постом.

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

Disable Youtube™ HTML5 Player BETA v.1.0.4.mxaddon

Share this post


Link to post
Share on other sites

Возможно ли подобным способом подогнать под Макстон расширение FriGate? Есть для Хрома и Фаерфокса...

Share this post


Link to post
Share on other sites
Sign in to follow this  
Followers 0