有没有办法检测是否 'Office Editing for Docs, Sheets & Slides' 是通过网页中运行的javascript安装在Chrome中的(不在扩展程序中)?
如果已安装,我们要在新标签中打开并编辑文档, 如果未安装,我们希望在CURRENT选项卡中下载文档。
答案 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");
});