【问题标题】:detect microsoft office version using javascript使用 javascript 检测 microsoft office 版本
【发布时间】:2009-11-09 10:16:07
【问题描述】:

我必须检查客户端电脑是否安装了 MS Office 2007。

如何使用 javascript 进行检查?

【问题讨论】:

  • 是来自浏览器的 JavaScript,还是使用 shell 脚本宿主运行的?

标签: javascript ms-office


【解决方案1】:

您无法在浏览器中执行此操作。浏览器不允许 javascript 访问客户端计算机。这将是一个巨大的安全漏洞。

微软通过使用 Active X 解决了这个问题。还有其他浏览器到桌面的插件可以完成同样的事情。

然而,Javascript 是不行的。

【讨论】:

  • 不要忘记 javascript 使用 WScript 或 cscript.exe 从命令行运行。可以从非浏览器脚本主机执行。
【解决方案2】:

您可以尝试使用 ActiveX 来执行此操作。比如:

var word = new ActiveXObject("Word.Application");

然后检查操作结果。

【讨论】:

    【解决方案3】:

    一般来说,这是不可能的。
    但是,如果客户端使用的是 Internet Explorer,并且安装了 InfoPath(它是 Office 的一部分),您可以在 user agent 中查看 InfoPath.2。另一种选择是检查 MS-RTC LM,如果他们安装了 Office Live Meeting。
    这是非常有限的,但它只是可能在本地 Intranet 上工作。

    【讨论】:

      【解决方案4】:

      我使用以下脚本完成了这项工作:

      try{
      var oApplication=new ActiveXObject("Word.Application");
      if(oApplication){
      document.write(oApplication.Version);
      
      if(oApplication.Version == "12.0")
      {
      document.write("office07 installed");
      }
      
      }
      }
      catch( ex)
      {
      document.write(" not installed: ");
      document.write(ex.message);
      }
      

      【讨论】:

      • 请注意,您必须在检查 Jazzy 解决方案中的版本后致电Application.Quit()。如果不这样做,您将在后台运行一个幽灵 WinWord.exe 实例,以后除了任务管理器之外无法杀死它。
      猜你喜欢
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-06
      • 1970-01-01
      • 2017-09-15
      相关资源
      最近更新 更多