3

我在页面上有一个 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 中的一个错误。希望会解决。

4

1 回答 1

1

错误已修复,代码

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

现在在 IE9 RC1 中工作。

于 2011-02-23T17:09:59.407 回答