O

Objecter

Категория проекта: Ожидает модерации

Requester

Описание

Пример расширения с описанием содержимого объекта chrome для различных компонентов расширения при включении всех разрешений (permissions) в файле manifest.json

Технологии

  • JavaScript
  • Chrome API
  • Chrome DevTools

Установка

  1. Загрузить zip-архив репозитория или клонировать репозиторий
  2. Распаковать архив
  3. Открыть браузер Google Chrome и перейти в настройки расширений путем открытия в строке ввода url:
chrome://extensions/
  1. В верхней правой части экрана включить радиобаттон: 'Режим разработчика'
  2. В верхней левой части экрана нажать кнопку 'Загрузить распакованное расширение' и указать путь к папке '/extension' из п.2

Описание работы

В папке './other/' в подпапках содержатся JSON с описанием содержимого объекта chrome в разных компонентах. Для получения данных необходимо ипользовать блок кода из секции Дополнительно.

Дополнительно

Код для получения содержимого объекта:

const PARAM_1 = 'getobjectallscoupe'
const PARAM_2 = 'getobjectkeys'
const PARAM_3 = 'getlocalandglobalvariables_true'
const PARAM_4 = 'getlocalandglobalvariables_false'
function getObjectData(operation, module, obj, objName) {
    let name
    let text
    let ext = '.json'
    const UNDERSCORE = '_'

    switch(operation) {
      case 'getobjectallscoupe':
        name = module + UNDERSCORE + 'getobjectallscoupe' + UNDERSCORE + objName + ext
        text = Service.getObjectAllScoupe(obj)
        break
      case 'getobjectkeys':
        name = module + UNDERSCORE + 'getobjectkeys' + UNDERSCORE + objName + ext
        text = Service.getObjectKeys(obj)
        break
      case 'getlocalandglobalvariables_true':
        name = module + UNDERSCORE + 'getlocalandglobalvariables_true' + UNDERSCORE + objName + ext
        text = Service.getLocalAndGlobalVariables(obj, true)
        break
      case 'getlocalandglobalvariables_false':
        name = module + UNDERSCORE + 'getlocalandglobalvariables_false' + UNDERSCORE + objName + ext
        text = Service.getLocalAndGlobalVariables(obj, false)
        break
        default:
            throw new Error('Попытка вызвать неизвестный метод')
    }
    console.log('name=' + name)
    Service.download(name, Service.jsonStringify(text))
}
getObjectData(PARAM_1, module, chrome, 'chrome')
getObjectData(PARAM_2, module, chrome, 'chrome')
getObjectData(PARAM_3, module, chrome, 'chrome')
getObjectData(PARAM_4, module, chrome, 'chrome')

//console.log('>2', Service.jsonStringify(Service.getObjectAllScoupe(chrome)))
//console.log('>3', Service.jsonStringify(Service.getObjectKeys(chrome)))
//console.log('>4', Service.getLocalAndGlobalVariables(chrome, true))
//console.log('>5', Service.getLocalAndGlobalVariables(chrome, false))