在IE9中从JavaScript调用ActiveX方法

时间:2011-01-26 12:48:07

标签: javascript activex internet-explorer-9

我在页面上有一个activex控件。通常,为了调用它,方法我使用类似的东西:

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('activexControlID').MethodName(2) = 'value string';不会返回值。它就像一个二传手。毕竟,我可以稍后使用代码var value = document.getElementById('activexControlID').MethodName(2);来获取它并且我可以在IE9中获得该值。但无法设置它。

我不知道它是如何在activex控件中实现的,但它类似于数组,只使用()而不是 [] 。再一次,它适用于IE的早期版本。

更新2

在IE9中看起来像bug。希望将被修复。

1 个答案:

答案 0 :(得分:1)

错误已修复且代码

document.getElementById('activexControlID').MethodName(2) = 'some value';

现在适用于IE9 RC1。