我们使用MS Word作为私人公司网站上几个字段的拼写检查程序,以及何时IE安全设置是正确的,它效果很好。 (将该网站的区域设置为“可信”,并将信任区域修改为允许控制在无提示的情况下运行。)当IE安全性不允许创建对象时,新的ActiveXObject('Word.Application')创建新的winword.exe进程
我们正在使用的脚本创建一个单词对象并在此后关闭它。虽然该对象存在,但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安全设置正确,它就可以工作,并且对我们的目的而言,它工作得很好。 (我们最终可能会考虑拼写检查功能的其他选项,但这是快速,便宜的,并且我们需要它做的所有事情。)
这最后一个问题让我感到困扰,我想对此做点事情,但我没有想法,还有其他更需要我关注的事情。
在我放下之前,我想我会在这里提出建议。