ActiveX 仅在激活 IE 9 控制台时工作
ActiveX only working when IE 9 Console is activated
我正在构建一个小型Web应用程序,该应用程序需要通过ActiveX和Javascript(以及IE9...)访问Powerpoint以自动构建报告。我正在使用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,即使我允许它通过"An ActiveX control on this page might be dangerous; Do you allow it to execute?"
执行(直接从法语中翻译)。
但是,如果我启动开发人员控制台,它会神奇地运行。而且,在另一台装有 IE 11 的计算机上,在我允许执行 ActiveX 控件后,它工作正常。
我认为我的IE安全设置是正确的,因此我想不出我不知道的IE故障的任何其他内容。我正在使用 IE 9.0.8112.16421 64 位。
我怎样才能让这段代码运行良好?提前谢谢你!
提醒:IE 中的console.log
仅在开发人员控制台打开时有效。如果开发人员控制台关闭,它会停止脚本,因为console
undefined
。
在代码中,尝试更改:
console.log("ActiveX Object created");
跟
try{console.log("ActiveX Object created")}catch(err){}
或注释该行://
。
相关文章:
- 只有当Javascript控制台在chrome上打开时,Javascript才能工作
- 控制台.log在 setInterval 中无法为 Tampermonkey 工作
- 如何让JavaScript控制台用户输入工作(node.js)
- 当控制台不在't在chrome中打开,有些项目不再可点击(有些js调用停止工作)
- addEventListener工作's,但控制台发送警告
- 登录控制台可以工作,但会立即导致TypeError
- ActiveX 仅在激活 IE 9 控制台时工作
- 无法获得控制台.log在 CasperJS 中评估内部工作
- 火狐插件控制台.log() 不工作
- Chrome - JavaScript 控制台无法正常工作
- JS仅在控制台.log之后工作
- javascript 的 document.getElementById 返回 null,但从控制台工作
- JSON.解析不能在代码中工作,但在开发人员控制台工作得很好
- 传单.addlayer()在功能上失败,在控制台工作
- 代码在控制台工作,但加载网站时不工作
- MarginLeft不工作在IE/Firefox内的功能(但从控制台工作)
- jwplayer getDuration在chrome控制台工作,但不能在c#与IJavaScriptExecutor
- JS代码在控制台工作,不像普通的web代码那样工作
- 文档准备好了,页面加载时没有击中,但它使用开发人员工具控制台工作
- AngularJS数组不是在View Load加载,而是在警报/控制台工作