【发布时间】:2009-11-09 10:16:07
【问题描述】:
我必须检查客户端电脑是否安装了 MS Office 2007。
如何使用 javascript 进行检查?
【问题讨论】:
-
是来自浏览器的 JavaScript,还是使用 shell 脚本宿主运行的?
标签: javascript ms-office
我必须检查客户端电脑是否安装了 MS Office 2007。
如何使用 javascript 进行检查?
【问题讨论】:
标签: javascript ms-office
您无法在浏览器中执行此操作。浏览器不允许 javascript 访问客户端计算机。这将是一个巨大的安全漏洞。
微软通过使用 Active X 解决了这个问题。还有其他浏览器到桌面的插件可以完成同样的事情。
然而,Javascript 是不行的。
【讨论】:
您可以尝试使用 ActiveX 来执行此操作。比如:
var word = new ActiveXObject("Word.Application");
然后检查操作结果。
【讨论】:
一般来说,这是不可能的。
但是,如果客户端使用的是 Internet Explorer,并且安装了 InfoPath(它是 Office 的一部分),您可以在 user agent 中查看 InfoPath.2。另一种选择是检查 MS-RTC LM,如果他们安装了 Office Live Meeting。
这是非常有限的,但它只是可能在本地 Intranet 上工作。
【讨论】:
我使用以下脚本完成了这项工作:
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);
}
【讨论】:
Application.Quit()。如果不这样做,您将在后台运行一个幽灵 WinWord.exe 实例,以后除了任务管理器之外无法杀死它。