Javascript ActiveX仅在激活IE 9控制台时工作
我正在构建一个需要通过ActiveX、Javascript和IE9访问Powerpoint的小型web应用程序。。。自动生成报告。我之所以使用ActiveX,是因为我无法在服务器端生成Powerpoint文件,尽管我非常希望这样 我现在的代码非常简单,因为我才刚刚开始: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
// 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,当它不指向用户时。