检测是否为Office,Sheets&幻灯片已安装

时间:2016-04-13 03:30:14

标签: google-chrome-extension

有没有办法检测是否 'Office Editing for Docs, Sheets & Slides' 是通过网页中运行的javascript安装在Chrome中的(不在扩展程序中)?

如果已安装,我们要在新标签中打开并编辑文档, 如果未安装,我们希望在CURRENT选项卡中下载文档。

1 个答案:

答案 0 :(得分:0)

我刚刚查看了此扩展程序的源代码,发现它在manifest.json

中有以下条目
"web_accessible_resources": [ "views/app.html", "views/qowt.html" ]

因此,您可以通过查询是否存在views/app.html来检测是否安装了扩展程序。只需进行ajax调用并检查xhr状态。

function detectExtension(extensionId, successCallback, failCallback) {
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function() {
        if (xhr.readyState === XMLHttpRequest.DONE) {
            if (xhr.status === 200) {
                successCallback();
            } else {
                failCallback();
            }
        }
    };
    xhr.open("GET", "chrome-extension://" + extensionId + "/views/app.html");
    xhr.send();
}

detectExtension("gbkeegbaiigmenfmjfclcdgdpimamgkj", function() {
    console.log("The extension is installed");
}, function() {
    console.log("The extension is not installed");
});