Home · vkopt
Збірка розширення з початкових кодів
- Запустити _build.bat (Windows) або _build.sh (Linux / Mac).
Скрипти з папки source / скопійовано в папку builds / [браузер] / - запустити збірку для потрібного браузера:
- Якщо у вас встановлений Python, запускаємо builds / _ [браузер] _pack.bat
- Якщо немає, але встановлений WinRAR - то тоді builds / _winrar_ [браузер] .bat
Cобранное розширення з'явиться в папці builds /.
Для цілей налагодження розширення існують додаткові настройки, які приховані. Див. Сторінку Розширені налаштування.
Принцип організації роботи розширення
VkOpt складається з двох допоміжних скриптів, що виконуються в пісочницях браузерів: background.js і content_script.js - далі "завантажувач".
Їх можна вважати одним цілим. Їх основне завдання - ін'ектіровать потрібні скрипти в сторінки. Завантажувач спрацьовує в кожній сторінці vk.com і в кожному фреймі на ній.
Скрипти ін'ектіруются в контекст сторінки, а не виконуються в пісочниці розширення, тому що вони тісно взаємодіють зі скриптами самого сайту, які, очевидно, видно тільки в контексті сторінки.
Є всього два варіанти набору скриптів, які ін'ектірует завантажувач:
- для основної сторінки (для window.top)
- для фрейма (запускаються в кожному фреймі)
Конкретні списки скриптів можна подивитися на початку background.js:
Щоб по-якої дрібниці не правити код Вкопта для підключення до часто використовуваних місцях в 2.х версії був реалізований механізм плагінів.
Поточна версія Вкопта 3.x повністю складається з окремих модулів, безпосередньо не взаємодіють між собою (за деякими винятками), і які розміщені в об'єкт vkopt приблизно так:
Опитування цікавить обробника у всіх модулів виробляється подібним викликом
На виході отримуємо масив з результатами виконання обробників модулів, якщо обробники з там назвою були у них виявлені. В обробник в модуль передаються аргументи передані після назви обробника, якщо ж в якості обробника у модуля вказана не функція, то в result_array потрапить те, що зазначено замість функції (рядок, об'єкт і т.д) Т.е існують обробники викликані як і ядром Вкопта, так і іншими модулями. Це потрібно наприклад в тому випадку, якщо ми додали своїм модулем якусь менюшку, в яку, можливо, якийсь інший модуль захоче додати і свої пункти теж. У цьому випадку наш модуль при генерації меню викликає щось таке:
А в інші модулі виглядають якось так:
Приклад коду підключення модуля до існуючих обробникам Вкопта (якщо код розташовується в файлах розширення, то виклик vkopt_core.plugins.delayed_run не обов'язковий):
Повертається для обробника onSettings структура виглядає так:
[Приклад модуля] (Приклади модулів) для вибору кастомними кольору фону сайту
Використання опцій в VkOpt-e
VkOpt надає публічний API для плагінів VkOpt і сторонніх розширень. Див. Сторінку Публічний API розширення.