我们使用 MS Word 作为私人公司网站上一些字段的拼写检查器,当 IE 安全设置正确时,它运行良好。(站点的区域设置为“受信任”,并且已修改受信任区域以允许控制在没有提示的情况下运行。)
我们使用的脚本创建了一个 word 对象,然后将其关闭。当对象存在时,一个 winword.exe 进程运行,但当 Word 对象关闭时它被销毁。
如果我们的站点未设置在受信任区域(具有默认安全级别的 Internet 区域),则创建 Word 对象的调用会按预期失败,但仍会创建 winword.exe 进程。我没有办法在脚本中与这个进程交互,所以进程会一直存在,直到用户注销(用户无法手动销毁进程,即使他们这样做也不是一个好的解决方案。 )
尝试创建对象的调用是...
try {
wordApplication = new ActiveXObject('Word.Application');
} catch(error) {
// irrelevant code removed, described in comments..
// notify user spell check cannot be used
// disable spell check option
}
因此,每次加载页面时,此代码可能会再次运行,从而创建另一个孤立的 winword.exe 进程。
wordApplication
当然,在 catch 块中是未定义的。
我希望能够事先检测浏览器的安全设置,但我对此进行了一些搜索,认为这是不可能的。
这里的管理层对此很满意。只要 IE 安全设置正确,它就可以正常工作,并且可以很好地满足我们的目的。(我们最终可能会考虑拼写检查功能的其他选项,但这是快速、廉价的,并且可以完成我们需要做的所有事情。)
最后一个问题困扰着我,我想做点什么,但我没有想法,我还有其他更需要我注意的事情。
在我把它放在一边之前,我想我会在这里征求意见。