Показать HTML-файл, содержащийся в расширении

Я создаю блокировщик веб-сайтов: после посещения заблокированного вами веб-сайта браузер отображает новую HTML-страницу с надписью «веб-сайт заблокирован». Новая HTML-страница сохраняется в моем расширении Chrome как message.html. Есть ли способ отобразить message.html в браузере? Если нет, я просто использую сценарий содержимого для внедрения JavaScript.


person Brian    schedule 28.11.2016    source источник


Ответы (1)


Обновление вкладки для отображения message.html

Предполагая, что все следующее верно:

  • Вы делаете это из сценария, работающего в фоновом контексте.
  • Вы хотите обновить уже существующую вкладку для отображения message.html
  • Вкладка ID, которую вы хотите обновить, — tabId.
  • Ваш message.html находится в том же каталоге, что и ваш manifest.json.

Вы можете сделать следующее, используя chrome.tabs.update() (документы Firefox), чтобы изменить вкладку с идентификатором содержащиеся в tabId для отображения вашего message.html:

chrome.tabs.update(tabId ,{url:'/message.html'});

or

chrome.tabs.update(tabId ,{url:chrome.runtime.getURL('/message.html'}));

Если вы меняете текущую выбранную вкладку в активном окне, то tabId не требуется, и вы можете опустить этот аргумент.

Создайте вкладку для отображения message.html

Предполагая, что все следующее верно:

  • Вы делаете это из сценария, работающего в фоновом контексте.
  • Вы хотите создать новую вкладку для отображения message.html
  • Ваш message.html находится в том же каталоге, что и ваш manifest.json.

Вы можете использовать chrome.tabs.create() (документы Firefox), чтобы создать новую вкладку для отображения сообщения. HTML:

chrome.tabs.create({url:'/message.html'});

or

chrome.tabs.create({url:chrome.runtime.getURL('/message.html'}));

Откройте message.html в новом окне.

Предполагая, что все следующее верно:

  • Вы делаете это из сценария, работающего в фоновом контексте.
  • Вы хотите создать новое окно для отображения message.html
  • Ваш message.html находится в том же каталоге, что и ваш manifest.json.

Вы можете использовать chrome.windows.create() (документы Firefox), чтобы открыть новое окно для отображения message.html:

chrome.windows.create({url:'/message.html'});

or

chrome.windows.create({url:chrome.runtime.getURL('/message.html'}));
person Makyen♦    schedule 28.11.2016