Определение приложения/расширения/старой версии Chrome

Насколько я понимаю, каждое приложение/расширение/прежняя версия Chrome определяется атрибутами в его manifest.json, причем эти атрибуты следующие:

Приложение Chrome:

Приложение Chrome будет иметь следующее в своем mainfest.json:

"app": 
{
    "background": 
    {
      "scripts": ["background.js"]
    }
}

background.js вызывает код Chrome chrome.app.window.create, который открывает новое отдельное приложение.

Расширение Chrome:

Расширение Chrome будет иметь следующее в своем mainfest.json:

"browser_action": 
{
    "default_popup": "index.html"
}

Это добавит расширение в Chrome. Расширения — это дополнения к браузеру Chrome.

Наследие Chrome:

"app":
{
    "launch":
    {
         "local_path": "index.html"
    }
}

Это похоже на веб-приложение, которое открывается в новой вкладке в Chrome.

Не могли бы вы подтвердить, что это правильно?


person SeaWalsh    schedule 10.02.2015    source источник
comment
Ваш вопрос довольно сумбурный и неясный. 1) Возможно урезать справочную информацию. Это важно? 2) Вырежьте дополнительные вопросы, которые у вас есть. Похоже, у вас есть что-то, что вы можете сформулировать как отдельный вопрос о устаревших приложениях. Сделайте так: сделайте отдельный вопрос. 3) Потратьте время на форматирование вопроса. Читать будет легче. См. это руководство.   -  person Xan    schedule 10.02.2015
comment
О, и предложение: удалить свой вопрос, отредактировать его, а затем восстановить. Это защитит вас от отрицательных голосов, пока вы приводите его в форму. См. также Как задать хороший вопрос   -  person Xan    schedule 10.02.2015


Ответы (1)


расширение не обязательно должно иметь действие браузера или даже любой видимый интерфейс. Все, что не имеет раздела app в манифесте, является расширением.

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


устаревшее упакованное приложение – это устаревший тип приложений, открывать во вкладке браузера, но использовать локальные компоненты и иметь доступ к Chrome API.

Они действительно идентифицируются наличием ключа app.launch.local_path в манифесте.

Цитирую документы:

Устаревшие упакованные приложения больше не поддерживаются, и Chrome прекратит их загрузку в июне 2015 г.

Кроме того, Интернет-магазин Chrome больше не принимает устаревшие приложения. .


размещенное приложение — это, по сути, небольшой кусок метаданных, который в основном действует как удобный ярлык для веб-сайта.

Он определяется наличием ключа app.launch.web_url. Как вы можете сделать вывод, они появились одновременно с устаревшими пакетными приложениями.

Это полезный тип приложения, если у вас уже есть веб-приложение, но вы хотите, чтобы оно присутствовало в Интернет-магазине Chrome. Однако пользователи часто злятся на такие приложения за то, что они «просто ссылка на веб-сайт».


приложение Chrome (также "пакетное приложение", чтобы отличать его от размещенные, но этот термин не рекомендуется, так как он использовался для устаревших приложений) — это автономное приложение HTML5, которое открывает пользовательский интерфейс отдельно от браузера. Это «новая» парадигма приложений.

Он определяется наличием ключа app.background. Это определяет страницу события, которая регулирует жизненный цикл приложения.

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


У Google есть хорошая (хотя и немного устаревшая) блок-схема, чтобы решить, какой тип приложения/расширения вам нужен. для вашего функционала:

Google, CC-By-3.0

Кроме того, есть подробное объяснение различий.

person Xan    schedule 11.02.2015