39
CHROME EXTENSIONS …ФИКСИМ МИР (РАБОТУ) ПАША КЛИМЕНКОВ

Chrome Extensions

Embed Size (px)

Citation preview

Page 1: Chrome Extensions

CHROMEEXTENSIONS…ФИКСИМ МИР (РАБОТУ)

ПАША КЛИМЕНКОВ

Page 2: Chrome Extensions

СОФТ МОГ БЫ БЫТЬ И ПОЛУЧШЕ

Page 3: Chrome Extensions
Page 4: Chrome Extensions

ФИКСИМ МИР

Page 5: Chrome Extensions

ЧТО ТАКОЕ ЭКСТЕНШН

Вэб приложение, в котором есть хотя бы:

• manifest.json

• любаяПолезность.js

Page 6: Chrome Extensions

MANIFEST.JSON

Page 7: Chrome Extensions

ПОЛЕЗНАЯ НАГРУЗКА.JS

• background page

• content script

• popup

• devtools panel

Page 8: Chrome Extensions

ВИД СО СТОРОНЫ

Page 9: Chrome Extensions

ПРИМЕР: ПРЕПРОЦЕССИМ БАГ-РЕПОРТЫ

Page 10: Chrome Extensions

СТАНДАРТНЫЙ (НЕ ВЕСЬ!) КУСОК РЕПОРТА:

Page 11: Chrome Extensions

Я СЛИШКОМ СТАР, ЧТОБЫ:

• Искать user agent

• Парсить json в уме

• Переводить миллисекунды в time span

• Находить символ в ужатой строке по номеру столбца

Page 12: Chrome Extensions

А ВОТ CONTENT SCRIPT МОЖЕТ ЭТО ПОДПРАВИТЬ

manifest.json

Page 13: Chrome Extensions

ВООБЩЕ ВСЁ ОСТАЛЬНОЕ + СВИСТЕЛКИ И АРОМАТИЗАТОРЫ

Page 14: Chrome Extensions

ГДЕ УСТАНАВЛИВАТЬ

Page 15: Chrome Extensions

КАК ДЕБАГИТЬ?

Просто вставить debugger;

Page 16: Chrome Extensions

ТА-ДАААМ!

Page 17: Chrome Extensions

BACKGROUND PAGE

Page 18: Chrome Extensions

ПОЛНЫЙ ДОСТУП К API(ПО ПЕРМИШЕНАМ)

WebRequest

Browser, PageAction

TextToSpeech

Popups, Notifications

ContextMenus

OmniBox

System.CPU, Memory

Tabs

Page 19: Chrome Extensions

ПРИМЕР: БРАУЗЕРНЫЙ РЕДИРЕКТ

Page 20: Chrome Extensions

ДАНО:

• Одностраничное приложение

• Базы клиентов распределены группами по серверам

• Иногда хочется дебагить локальные сырцы но с удаленными данными

• Серверный редирект – дорого

Page 21: Chrome Extensions

РЕШАЕМ ЧЕРЕЗ:

• webRequest API

• background.js

• page action

• popup window

Page 22: Chrome Extensions

MANIFEST.JSON

Page 23: Chrome Extensions

BACKGROUND:ДОБАВИТЬ PAGE ACTION

Page 24: Chrome Extensions

BACKGROUND PAGE:ПЕРЕХВАТ ЗАПРОСОВ

Page 25: Chrome Extensions

PAGE ACTION + POPUP:ВКЛ/ВЫКЛ

Page 26: Chrome Extensions

И ВСЕ ВМЕСТЕ

Page 27: Chrome Extensions

КАК ДЕБАГИТЬBACKGROUND

Page 28: Chrome Extensions

КАК ДЕБАГИТЬ POPUP

Page 29: Chrome Extensions

DEVTOOLS API

Page 30: Chrome Extensions

DEVTOOLS API МОГУТ

• общаться

• лазить в

• chrome.devtools.panels• chrome.devtools.inspectedWindow• chrome.devtools.network

Page 31: Chrome Extensions

ПРИМЕР:DEVTOOLS NETWORK PANELГЛАЗАМИ МЕНЯ

Page 32: Chrome Extensions

ЧТО НЕ ТАК

• Уйма запросов (RPC) к данным на сервер

• На один XHR приходится 1..2000 RPC

• Мне интересны в первую очередь RPC, а не XHR: параметры и результат

Page 33: Chrome Extensions

ЧТО МОЖЕТ ПРЕДЛОЖИТЬ NETWORK ПАНЕЛЬ

Page 34: Chrome Extensions

NETWORK ПАНЕЛЬ МЕЧТЫ

Page 35: Chrome Extensions

MANIFEST.JSON

Page 36: Chrome Extensions

ПАНЕЛЬКА

devtools.html

devtools.js

Page 37: Chrome Extensions

И ВОТ ЧТО ТВОРИТСЯ НА САМОМ ДЕЛЕ

Page 38: Chrome Extensions

КИЛЛЕР ФИЧА – ПРЕВЬЮ ЗАПРОСОВ И ОТВЕТОВ

Page 39: Chrome Extensions

ВСЁ

Вопросы? Что-нибудь простое

/pasha.klimenkov