Показать HTML-файл, содержащийся в расширении
Я создаю блокировщик веб-сайта: после посещения заблокированного веб-сайта браузер отображает новую HTML-страницу с надписью "веб-сайт заблокирован". Новая HTML-страница сохраняется в моем расширении Chrome как message.html. Есть ли способ отобразить message.html в браузере? Если нет, я просто воспользуюсь скриптом контента, чтобы добавить немного JavaScript.
1 ответ
Обновление вкладки для отображения message.html
Предполагая, что все следующее верно:
- Вы делаете это из скрипта, работающего в фоновом контексте.
- Вы хотите обновить уже существующую вкладку для отображения message.html
- Вкладка ID, которую вы хотите обновить
tabId
, - Ваш message.html находится в том же каталоге, что и ваш manifest.json.
Вы можете сделать следующее, которое использует chrome.tabs.update()
( Firefox docs), чтобы изменить вкладку с идентификатором, содержащимся в tabId
для отображения вашего message.html:
chrome.tabs.update(tabId ,{url:'/message.html'});
или же
chrome.tabs.update(tabId ,{url:chrome.runtime.getURL('/message.html'}));
Если вы меняете текущую выбранную вкладку в активном окне, то tabId
не требуется, и вы можете опустить этот аргумент.
Создать вкладку для отображения message.html
Предполагая, что все следующее верно:
- Вы делаете это из скрипта, работающего в фоновом контексте.
- Вы хотите создать новую вкладку для отображения message.html
- Ваш message.html находится в том же каталоге, что и ваш manifest.json.
Ты можешь использовать chrome.tabs.create()
( Firefox docs), чтобы создать новую вкладку для отображения message.html:
chrome.tabs.create({url:'/message.html'});
или же
chrome.tabs.create({url:chrome.runtime.getURL('/message.html'}));
Откройте message.html в новом окне
Предполагая, что все следующее верно:
- Вы делаете это из скрипта, работающего в фоновом контексте.
- Вы хотите создать новое окно для отображения message.html
- Ваш message.html находится в том же каталоге, что и ваш manifest.json.
Ты можешь использовать chrome.windows.create()
( Firefox docs), чтобы открыть новое окно для отображения message.html:
chrome.windows.create({url:'/message.html'});
или же
chrome.windows.create({url:chrome.runtime.getURL('/message.html'}));