Javascript ActiveX仅在激活IE 9控制台时工作

Javascript ActiveX仅在激活IE 9控制台时工作,javascript,internet-explorer,activex,Javascript,Internet Explorer,Activex,我正在构建一个需要通过ActiveX、Javascript和IE9访问Powerpoint的小型web应用程序。。。自动生成报告。我之所以使用ActiveX,是因为我无法在服务器端生成Powerpoint文件,尽管我非常希望这样 我现在的代码非常简单,因为我才刚刚开始: // Creating the ActiveX Powerpoint control var ppt; try{ ppt = new ActiveXObject("Powerpoint.Application"); }c

我正在构建一个需要通过ActiveX、Javascript和IE9访问Powerpoint的小型web应用程序。。。自动生成报告。我之所以使用ActiveX,是因为我无法在服务器端生成Powerpoint文件,尽管我非常希望这样

我现在的代码非常简单,因为我才刚刚开始:

// Creating the ActiveX Powerpoint control
var ppt;
try{
    ppt = new ActiveXObject("Powerpoint.Application");
}catch(e){
    if (e instanceof ReferenceError)
        alert("Your browser might not be compatible with this function. Please use Internet Explorer.");
    else
        alert("An error happened: " + e);
}
console.log("ActiveX Object created");

// Openning Powerpoint, make it visible
ppt.Visible = 1;

// Creating a new Presentation, and adding a blank (1 slide, 1 = ppLayoutBlank) Slide
ppt.Presentations.Add();
ppt.ActivePresentation.Slides.Add(1, 1);
在我的计算机上,ActiveX控件没有启动Powerpoint,即使我允许它通过页面上的ActiveX控件执行,这可能是危险的;你允许它执行吗?直接从法语传来的

但是,如果我启动Developper控制台,它会神奇地运行。而且,在另一台使用IE11的计算机上,在我允许ActiveX控件执行后,它可以正常工作

我认为我的IE安全设置是正确的,因此我想不出任何其他我不知道的IE故障。我正在使用IE 9.0.8112.16421 64位

我怎样才能使这段代码运行良好?提前谢谢你

提醒:仅当开发人员控制台打开时,IE中的console.log才起作用。 如果开发人员控制台关闭,它将停止脚本,因为控制台未定义

在代码中,尝试更改:

console.logActiveX对象已创建


请尝试{console.logActiveX Object created}catcherr{},或在IE中用://.

console.log注释该行。只有在开发人员控制台打开时,IE中的console.log才起作用。。。如果开发人员控制台关闭,它将停止脚本,因为控制台未定义。尝试更改已创建的console.logActiveX对象;在try{console.logActiveX Object created}catcherr{}中,或者将其更改为alertActiveX Object created;哇!打得好!事实上,我只是简单地讲了一遍,但我从来没有想到这就是问题所在!它与试抓完美配合,我会坚持下去@Frogmouth如果你可以把这个作为答案,我可以接受。。。谢谢你们两个闪电般的回答@ToastyMallows-是另一种方式,但我认为它是开发人员的日志,而不是用户的警报。@Frogmouth嗯,基本上它只是一个简短的开始开发日志,用于检查是否一切正常。我可能会尽快放弃它,因为我将在开发方面取得进展。我只是习惯于使用console.log而不是alert,当它不指向用户时。