【问题标题】:Launch Chrome app using extension使用扩展程序启动 Chrome 应用程序
【发布时间】:2014-06-22 09:36:08
【问题描述】:

我有一个独立的无框架 Chrome 应用程序。我正在从另一个 Chrome 扩展程序向它(Chrome 应用程序)发送消息,它可以工作。但是我希望能够(如果可能的话)使用扩展程序启动应用程序。因为现在我必须手动启动应用程序。

我看到Google music "mini player" 可以从music.google.com 启动。所以我想知道是否可以使用 chrome 扩展来做同样的事情。

如果 Chrome 应用程序可以读取打开的标签或只是 URL,我不需要 Chrome 扩展程序,但由于这是不可能的,因此必须使用扩展程序和消息到应用程序来实现这一点。

【问题讨论】:

    标签: google-chrome google-chrome-extension google-chrome-app


    【解决方案1】:

    当你想打开它时,只需从扩展程序向你的应用发送消息(在我的例子中,我是在点击页面上的注入元素时打开应用)

    扩展脚本:

    var appID = "qwertzuiopasdghghjkhgjghj";
    
    element.onclick = function () {
     chrome.runtime.sendMessage(appID, {message: 'fireup'}, function(response){});
    });
    

    应用后台脚本:

    chrome.runtime.onMessageExternal.addListener(function(request, sender, sendResponse) {
        if (request.message == 'fireup') {
        chrome.app.window.create("page.html",
            {
                       //whatever
            });
        }
    });
    

    【讨论】:

      【解决方案2】:

      你可以使用chrome.management.launchApp方法:https://developer.chrome.com/extensions/management#method-launchApp

      要使用它,您需要在扩展清单文件中添加“管理”权限

      【讨论】: