2011-01-26 65 views
3

我在页面上有一个activex控件。通常情况下,调用它的方法我用的是这样的:在IE9中通过JavaScript调用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'); 

,但没有运气。

UPDATE

表达document.getElementById('activexControlID').MethodName(2) = 'value string';不认为返回一个值。它就像一个二传手。毕竟,以后我可以用代码var value = document.getElementById('activexControlID').MethodName(2);得到它并且我可以在IE9中获得该值。但不能设置它。

我不知道它是怎么ActiveX控件内部实现,但它类似于数组,只是使用()代替[]。再次,它在IE的早期版本中起作用。

UPDATE 2

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

+0

什么是'.MethodName(2)`应该返回? – Tomalak 2011-01-26 12:50:23

回答

1

的错误是固定的,代码

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

现在工作在IE9 RC1。

相关问题