Преобразование расширения браузера в обычный веб-сайт

Можно создать расширения Хром или Fire Fox, которые открывают новую вкладку и загружают веб-страницу. Такая веб-страница в основном представляет собой HTML с небольшим количеством CSS и JavaScript. Следовательно, в принципе должна быть возможность открыть эту HTML-страницу локально из исходного кода расширения и получить то же поведение, что и расширение. Или опубликовать HTML, CSS и Javascript в Интернете как обычный веб-сайт.

Тем не менее, открытие главной HTML-страницы расширения не всегда приводит к работающему веб-сайту. Я предполагаю, что при загрузке расширения запускаются дополнительные сценарии и разрешения устанавливаются браузером (см. расширение API и манифест).

Что нужно, чтобы превратить расширение для браузера в самостоятельный веб-сайт? Существуют ли «обертки» (polyfill, shim), которые могут читать манифест и воспроизводить поведение расширения?

Расширения обычно используют API расширений Chrome, который доступен только в расширениях, поэтому преобразование в веб-приложение имеет смысл только в очень небольшом количестве случаев, когда API не используется.

wOxxOm 08.04.2019 13:47

@wOxxOm Вы говорите об этом (developer.chrome.com/apps/api_index). Таким образом, каждый вызов такой функции должен быть преобразован в действия, доступные для обычных веб-сайтов (если это возможно)?

LBogaardt 08.04.2019 13:55
developer.chrome.com/extensions/api-индекс для расширений.
wOxxOm 08.04.2019 13:57

Знаете ли вы о «оболочке», которая могла бы взять исходный код и заставить его функционировать так, как если бы это был обычный веб-сайт? Если у кого-нибудь есть совет по поисковым запросам, которые я мог бы найти в Google, это также поможет.

LBogaardt 08.04.2019 14:06

Я не знаю ни одного, и я не могу представить, как это могло бы помочь, поскольку API имеет решающее значение для функциональности большинства расширений. Очевидно, вы говорите о каком-то конкретном случае использования, который я не могу себе представить.

wOxxOm 08.04.2019 14:09

Да, я думаю, это очень специфично для расширения... В моем случае расширение не делает ничего особенного. Он не меняет браузер, не добавляет кнопки и т. д. Он просто обслуживает HTML-страницу. Спасибо за рефы, я продолжу гуглить сам.

LBogaardt 08.04.2019 14:12
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
6
825
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Следуя полезным комментариям wOxxOm, я понял, что некоторые вызовы API можно перехватить с помощью прокладки или полифилла. Эта оболочка должна повторно реализовать функции без использования вызовов API, специфичных для расширения.

Я создал простой Git-репозиторий, содержащий такую ​​прокладку Javascript.

Другие вопросы по теме