Как получить данные из кода JavaScript в элементе управления .NET WebBrowser, работающем в режиме моно? - PullRequest
0 голосов
/ 09 февраля 2011

Элемент управления WebBrowser был разработан, чтобы иметь возможность совершать вызовы из JavaScript в .NET (и передавать данные) через свойство ObjectForScripting (на стороне .NET) и объект window.external на стороне JavaScript.

Однако в моно это не реализовано.

Какие есть варианты получения данных и / или совершения звонков со стороны JavaScript на сторону .NET?

(Mono поддерживает связь в другом направлении с помощью метода Document.InvokeScript.)

Ответы [ 3 ]

0 голосов
/ 09 февраля 2011

Ааа, я нашел способ: Моно и окно. Внешний

Обновление: Дерьмо.В моно, установка location.url заставляет очистить свойство Document элемента управления браузера, что делает невозможным последующий обратный вызов скрипта с использованием Document.InvokeScript.

0 голосов
/ 10 февраля 2011

Я нашел другой способ: вы можете установить заголовок документа в JavaScript и следить за браузером.Document.Title в .NET.После того, как вы обработали команду в .NET, установите для заголовка обратно пустую строку, чтобы вы не обрабатывали ее снова.

Конечно, это хак, но это жизнь с моно.

0 голосов
/ 09 февраля 2011

Вы можете сделать это, используя JQuery.Javascript может вызывать веб-сервис, предоставляемый в вашем приложении, для передачи данных туда и обратно.

...