Доступ к локальным файлам через расширение Google Chrome?

Мне нужно загрузить список имен в расширение Google Chrome из локального файла. Как это можно сделать? что, если файл поставляется с самим расширением?


person Max    schedule 01.10.2011    source источник


Ответы (2)


Если этот файл поставляется с вашим расширением, вы можете просто загрузить его с XMLHttpRequest внутри фоновой страницы (используйте относительные пути, где / является корневой папкой расширения).

Вы также можете сделать свой файл javascript (var config=[...]) и просто загрузить его с помощью <script> на фоновую страницу.

person serg    schedule 01.10.2011

Скажите, что ваш файл json имеет имя .json в следующей папке.

-- manifest.json
-- config
   |-- names.json

В manifest.json добавьте путь к ресурсу

"web_accessible_resources": [
        "config/names.json"
    ]

Используйте API fectch() для доступа к ресурсу.

const url = chrome.runtime.getURL('./config/names.json');

fetch(url)
  .then(
    function(response) {
      if (response.status !== 200) {
        console.log('Looks like there was a problem. Status Code: ' +
          response.status);
        return;
      }

      // Examine the text in the response
      response.json().then(function(data) {
        console.log(data);
      });
    }
  )
  .catch(function(err) {
    console.log('Fetch Error :-S', err);
  });
person Rohit Nandi    schedule 21.10.2019