Как я могу запустить упакованное приложение Chrome через javascript?

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


person nathanjosiah    schedule 13.06.2013    source источник


Ответы (3)


chrome.management.launchApp можно использовать для запуска приложения в расширении.

Справочник по API доступен здесь: https://developer.chrome.com/extensions/management.html#method-launchApp.

person 方 觉    schedule 15.06.2013
comment
Это не работает с веб-страницы. chrome.management не определен. - person Tomas M; 18.03.2015

Вы можете сделать определенные ресурсы в своем расширении доступными, и тогда вы сможете использовать для этого «window.location».

Схема URL: chrome-extension://[PACKAGE ID]/[PATH].

Пример:

//This is **not** in your packaged app, but in another web page
window.location = "chrome-extension://abdecbedphjijkaed/index.html";

В вашем упакованном приложении вам нужно объявить, какие ресурсы могут быть доступны через URL-адрес в вашем манифесте:

"web_accessible_resources": [
    "images/my-awesome-image1.png",
    "images/my-amazing-icon1.png",
    "index.html"
]

Подробнее: https://developer.chrome.com/extensions/manifest.html#web_accessible_resources< /а>

ПРИМЕЧАНИЕ. Это может не сработать. Хотя пользователь может использовать URL-адреса "chrome://", я не уверен, что веб-страницы могут

person Don Rhummy    schedule 13.06.2013
comment
Я хочу запустить упакованное приложение, а не просматривать ресурс расширения. - person nathanjosiah; 14.06.2013
comment
упакованные приложения могут быть доступны таким же образом. В этом отношении они считаются расширениями. Вы пробовали? Посмотрите, сможете ли вы запустить эту страницу и вызовется ли в результате ваш onLaunched. Это может быть невозможно, но может быть. - person Don Rhummy; 14.06.2013
comment
Я даже не могу установить пакет с этим ключом web_accessible_resources в манифесте, это дает мне ошибку «web_accessible_resources» разрешено только для расширений, размещенных приложений и устаревших упакованных приложений, и это упакованное приложение. - person nathanjosiah; 14.06.2013
comment
@nathanjosiah А, хорошо, вот как исправить эту ошибку: добавьте update_url в свой манифест, и оно станет размещенным приложением. (Это должен быть настоящий файл .crx) - person Don Rhummy; 14.06.2013
comment
Я не мог заставить это работать даже с этим свойством. Хотя, как я уже сказал, это не имеет значения. Мне нужно получить доступ к оборудованию USB, которое не будет разрешено так, как вы говорите. - person nathanjosiah; 15.06.2013

Эта функция появится. См. вопрос 111422: добавление возможности для приложений регистрироваться для обработки URL. .

person Vincent Scheib    schedule 13.06.2013
comment
Я видел эту ветку на самом деле. Запуск по схеме URL будет очень полезен, но есть ли способ сделать это через Chrome API? - person nathanjosiah; 14.06.2013