在IE9中从JavaScript调用ActiveX方法
我在页面上有一个activex控件。通常,要称之为方法,我会使用以下内容:在IE9中从JavaScript调用ActiveX方法,javascript,activex,internet-explorer-9,Javascript,Activex,Internet Explorer 9,我在页面上有一个activex控件。通常,要称之为方法,我会使用以下内容: document.getElementById('activexControlID').MethodName(2) = 'value string'; 我知道,这可能看起来很奇怪,但在IE6、IE7、IE8中效果很好。不幸的是,它在IE9中不起作用。它抛出错误“无法分配给函数结果” 我已经试过了: document.getElementById('activexControlID').MethodName[2] = '
document.getElementById('activexControlID').MethodName(2) = 'value string';
我知道,这可能看起来很奇怪,但在IE6、IE7、IE8中效果很好。不幸的是,它在IE9中不起作用。它抛出错误“无法分配给函数结果”
我已经试过了:
document.getElementById('activexControlID').MethodName[2] = 'value string';
// and
document.getElementById('activexControlID').MethodName(2, 'value string');
但是没有运气
更新
表达式document.getElementById('ActiveXControl').MethodName(2)='value string'代码>不要假设返回值。它就像一个二传手。毕竟,我可以稍后使用代码var value=document.getElementById('activexControlID').MethodName(2)获得它代码>我可以在IE9中获得值。但不能设置它
我不知道它是如何在activex控件中实现的,但它类似于array,只是使用()而不是[]。再一次,它适用于IE的早期版本
更新2
看起来像IE9中的一个。希望会被修复。错误被修复,代码也被修复
document.getElementById('activexControlID').MethodName(2) = 'some value';
现在可以在IE9 RC1中使用。什么是.MethodName(2)
应该返回?不要在IE9中使用activeX控件。IE9的跨浏览器兼容性足以使用真正的web应用程序。该控件是在中安全性还是高安全性下运行的?然后可以对ActiveX控件禁用脚本。检查您的设置…;)人们还在使用ActiveX吗?人们还在使用IE?听起来你在尝试使用索引器方法?控制是什么?它是以什么方式实现的?如果您使用F12开发者工具将页面置于IE8模式,页面是否工作?