如何在javascript中检测已安装的MS Office版本

How to detect installed version of MS Office within javascript?

本文关键字:安装 MS Office 版本 检测 javascript      更新时间:2023-09-26

我需要知道用户机器上是否安装了MS Office 2013,以使用从网站打开Office文档进行编辑的特定方式。

也许有一些特定于Office 2013的插件/activex?

我试图了解Sharepoint是如何完成这项任务的,但它太棘手了:

this.IsProtocolHandlerEnabled = function(d) {
        if (IsStrNullOrEmpty(d))
            return false;
        if (b[d] != null)
            return b[d];
        if (c)
            return a;
        ...

如果office 2013可用,则"a"等于"true",否则为"false",但我找不到变量"a"更改的位置。

这个方法在chrome中对我有效,你可能不得不减少IE的旧副本的迭代:

var has2013=([].slice.call(navigator.plugins)
    .filter(function(a){return a.name.match("Microsoft Office")})[0].name||"")
    .match(2013)||false;
alert(has2013);