新ActiveXObject('字。应用程序')创建新的winword.exe 处理时,即安全不允许对被创造了

StackOverflow https://stackoverflow.com/questions/2427523

我们正在使用MS Word作为一个拼写检查一些领域在一个私人公司的网站,并当即安全设置都是正确的,它工作得很好。(区域网站设信任,而信任区修改,以允许控制中运行,而不提示。)

脚本我们使用的是创建一词的对象,并关闭它之后。虽然对象存在,winword.exe 进程的运行,但是它是破坏当的词语目的是关闭的。

如果我们的网站不是设在信任区域(区互联网用默认的安全级别)的呼吁,创造一词的对象未如预期,但是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 是的,当然,不确定的在抓块。

我想要能够检测的浏览器的安全设置,但是我已经做了一些搜索这并不认为这是可能的。

这里的管理是满意的,因为它是。只要即安全设置正确,它的工作,以及它运作良好,为我们的目的。(我们可能最终看看其他选择拼写检查功能,但这是快速、价格低廉,并且我们需要的一切这样做。)

最后这一问题的错误我和我想做些什么,但是我出的想法和我还有其他事情都更需要我的注意。

之前我把它放在一边,我想我会要求的建议在这里。

有帮助吗?

解决方案

我有没有发现这个问题的答案,我感到不安的是什么问题意味着有关Internet Explorer安全(我忘了说了在我以前发布的版本,我是使用:即7.)

但是,我没有执行一个解决办法,我并不满意,但仍然感到更加舒适用于没有检查在所有的...

代码现在试图打开另一个目第一,如果失败的代码假定这个词不会打开和问题的一个错误。从这点上,没有更多的电话到新ActiveXObject()将作出与任何试图在一个拼写检查将导致错误。

try { 
    oMSInfo = new ActiveXObject('Msinfo32.MSInfo.1');
} catch (error) {
    //  error handling code not shown...
    return;
}

这象不开始一个新的进程时,呼吁新ActiveXObject()失败。它也没有一个显着的影响对系统的资源。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top