【问题标题】:How to detect installed version of MS Office within javascript?如何在 javascript 中检测已安装的 MS Office 版本?
【发布时间】:2013-07-17 16:09:46
【问题描述】:

我需要知道是否在用户计算机上安装了 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”被更改的地方。

【问题讨论】:

  • 看起来缩小了,a 可能在某个地方作为全局设置为 true。
  • @Adriano:该链接没有提供答案,只是拒绝和仅 IE 的东西......
  • @dandavis 因为 AFAIK 此类信息不适用于 JavaScript(因为它们在注册表中),所以您必须使用 ActiveX 对象(=仅 IE)。即使是 SharePoint 集成也不适用于其他浏览器。
  • @Adriano:它在一个插件中,我不明白为什么这不算数......

标签: javascript ms-office office-2013


【解决方案1】:

这种方法在 chrome 中对我有用,您可能需要简化 IE 旧副本的迭代:

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

alert(has2013);

【讨论】:

    猜你喜欢
    • 2010-10-28
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多