Как получить ответ от компонента WebBrowser

frominfotek
Дата: 22.01.2010 15:36:10
Всем доброго дня суток.
Есть форма с компонентом WebBrowser, свойству Url которого присвоена строка
"C:\3\sample.html"

В этом файле есть функция на javascript. Проблема в том, что мне нужно как-то передать число (или текст) из этой функции в программу на c#, как бы это сделать?

Текст функции на javascript:
    function initialize() {
	document.write('Hello, world!');
    }
frominfotek
Дата: 22.01.2010 15:45:48
Возможно, я не совсем внятно объяснил. В компоненте WebBrawser пользователь вручную перетаскивает маркер на карте, далее автоматически вызывается функция на javascript, находящаяся в html-файле, которая получает новые координаты в качестве параметра.

Вот эти координаты мне и нужно передать посредством html/javascript во внешнюю программу на c#. Если есть идеи, поделитесь плз...
AlexeiK
Дата: 22.01.2010 15:46:38
ищи в гугле "wcf rest ajax"
frominfotek
Дата: 22.01.2010 16:18:36
Забыл сказать, проект на c# 2.0, ни 3.0 ни 3.5 использовать нельзя :( А слова "wcf" отдают именно третьим фреймворком...
frominfotek
Дата: 25.01.2010 11:44:43
Пожалуйста, не игнорьте тему...
Как в WinForms получить ответ от элемента WebBrawser, используя framework 2.0?
Ora Starter
Дата: 25.01.2010 13:41:07
frominfotek,

оно?
Ora Starter
Дата: 25.01.2010 13:44:23
frominfotek
Дата: 25.01.2010 14:20:13
Ora Starter, спасибо, что откликнулись!
Насколько я понял, это не совсем оно, т.к. Ваш пример показывает, как делать вызов JavaScript-функции из программы на c#.

А мне нужно наоборот - как из JavaScript-функции (к-рая выполняется в компоненте WebBrowser) передать пару чисел в программу на c#.

Максимум, что я смог придумать (т.к. не знаю JavaScript), это изменить функцию так:
	location.href = marker.getLatLng();
Т.е. пытаюсь перейти по ссылке, хотя на самом деле это не ссылка, а
file://localhost/C:/3/(55.73387629706785,%2038.117408752441406)
и возникает ошибка "Error! Could not open file...", зато у WebBrowser возникает событие navigating, и возможно, там можно что-то сделать. И еще в таком случае нужно сделать, чтобы перехода по ссылке не происходило на самом деле, и чтобы ошибка не появлялась для пользователя.

Но, подозреваю, я решаю задачу "через одно место", и есть более правильный и изящный способ...
frominfotek
Дата: 25.01.2010 14:21:38
Забыл сказать, в приведенном выше примере, мне из JavaScript в c# нужно передать эти два числа (они закодированы в ссылке):
55.73387629706785 и 38.117408752441406
Ora Starter
Дата: 25.01.2010 14:40:14
Вы там Google map курочите? Может просто задачу опишите более детально, а не велик придумывать?