Можно создать расширения Хром или Fire Fox, которые открывают новую вкладку и загружают веб-страницу. Такая веб-страница в основном представляет собой HTML с небольшим количеством CSS и JavaScript. Следовательно, в принципе должна быть возможность открыть эту HTML-страницу локально из исходного кода расширения и получить то же поведение, что и расширение. Или опубликовать HTML, CSS и Javascript в Интернете как обычный веб-сайт.
Тем не менее, открытие главной HTML-страницы расширения не всегда приводит к работающему веб-сайту. Я предполагаю, что при загрузке расширения запускаются дополнительные сценарии и разрешения устанавливаются браузером (см. расширение API и манифест).
Что нужно, чтобы превратить расширение для браузера в самостоятельный веб-сайт? Существуют ли «обертки» (polyfill, shim), которые могут читать манифест и воспроизводить поведение расширения?
@wOxxOm Вы говорите об этом (developer.chrome.com/apps/api_index). Таким образом, каждый вызов такой функции должен быть преобразован в действия, доступные для обычных веб-сайтов (если это возможно)?
Знаете ли вы о «оболочке», которая могла бы взять исходный код и заставить его функционировать так, как если бы это был обычный веб-сайт? Если у кого-нибудь есть совет по поисковым запросам, которые я мог бы найти в Google, это также поможет.
Я не знаю ни одного, и я не могу представить, как это могло бы помочь, поскольку API имеет решающее значение для функциональности большинства расширений. Очевидно, вы говорите о каком-то конкретном случае использования, который я не могу себе представить.
Да, я думаю, это очень специфично для расширения... В моем случае расширение не делает ничего особенного. Он не меняет браузер, не добавляет кнопки и т. д. Он просто обслуживает HTML-страницу. Спасибо за рефы, я продолжу гуглить сам.
Следуя полезным комментариям wOxxOm, я понял, что некоторые вызовы API можно перехватить с помощью прокладки или полифилла. Эта оболочка должна повторно реализовать функции без использования вызовов API, специфичных для расширения.
Я создал простой Git-репозиторий, содержащий такую прокладку Javascript.
Расширения обычно используют API расширений Chrome, который доступен только в расширениях, поэтому преобразование в веб-приложение имеет смысл только в очень небольшом количестве случаев, когда API не используется.