Вызов метода ActiveX из JavaScript в IE9 - PullRequest
3 голосов
/ 26 января 2011

У меня есть элемент управления 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.

UPDATE 2

Похоже на ошибку в IE9.Надежда будет исправлена.

1 Ответ

1 голос
/ 23 февраля 2011

Исправлена ​​ошибка и код

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

теперь работает в IE9 RC1.

...