Вызов метода ActionScript (Flash) через mshtml из C # - PullRequest
0 голосов
/ 26 августа 2010

Я использую компонент WebBrowser из WPF. Я загружаю туда страницу из Интернета и получаю доступ к свойству Document для вызова своих скриптов. К сожалению, вызывающие скрипты не работают так, как мне нужно. Когда я вызываю методы JavaScript, которые существуют в JavaScript, это прекрасно работает, но когда мне нужен доступ к некоторым методам, которые доступны через Flash, у меня возникают проблемы.

document.parentWindow.execScript("document.getElementById('swfObject').methodFromActionScript();", "JavaScript");

Я получаю исключение в браузере. Объект не поддерживает это свойство или метод. В C # я получаю исключение от HRESULT: 0x80020101

Но когда я пытаюсь запустить этот код в обычном браузере как IE или Chrome, передав его в URL, чтобы код выполнялся, и я вижу результаты.

Может быть, какие-то проблемы с режимом доверия или что еще может запретить доступ к свойствам и методам Flash?

Кстати: переменная allowScriptAccess установлена ​​на всегда.

Спасибо за помощь.

1 Ответ

0 голосов
/ 26 августа 2010

Хорошо, я нашел проблему. До этого execScript. Я делал некоторую модификацию DOM и движущихся элементов, и, очевидно, это сломало DOM, поэтому я не мог вызвать swfObject, потому что во время перемещения он был каким-то образом модифицирован и потерял свои свойства и методы, которые были экспортированы через ActionScript.

...