Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

[Twebbrowser+javascript] Получить переменные java [D7, XP]


vegarulez ©   (2010-12-03 17:41:00) 

Привет всем мастерам!
Комрады подскажите как можно при использовании Twebbrowser прочитать\записать переменные javascript который сейчас выполняется в загруженном в Twebbrowser`e документе?


sniknik   (2010-12-09 07:59:00) [1]

myform.submit();
должно сработать...
у вас же выше интерфейс документа получен, т.е. все его функции/переменные доступны. и если из яваскрипта в самой страничке можно так как я показал, значит и через интерфейс тоже должно работать (хотя и не пробовал).


RWolf   (2010-12-09 00:22:00) [2]

а вот, скажем, открыт в TWebBrowser'е HTML, в нём какие-то поля для заполнения; как программно сделать submit? (т.е. дать команду браузеру отправить POST-запрос на веб-сервер)

это я думаю над тем, как прикрутить веб-интерфейс к десктопной программе и спрятать всю логику за встроенным веб-сервером, например.


sniknik   (2010-12-08 16:12:00) [3]

namespaces


DiamondShark   (2010-12-08 15:24:00) [4]


> как проверить на существование?

Верить в светлое будущее.
Или ловить исключение.

Обращение V.hlneed это на самом деле серия вызовов интерфейса IDispath со всей черновой работой, заботливо спрятанной компилятором. Соответственно, никто не мешает вручную привести V к IDispath, самому вызвать GetIDsOfNames и проанализировать результат.

Но проще поймать исключение.


vegarulez   (2010-12-08 14:59:00) [5]

Теперь  вопрос такого характера...
Если у меня по каким то причинам страница к примеру не загрузилась допустим или там нет нужно мне переменной, как мне проверить V.hlneed на существование hlneed в загружунной странице?
Т.е. if Assigned(V.hlneed) не применим и <>nil тоже не подходит... как проверить на существование?


Дмитрий С   (2010-12-06 16:11:00) [6]

так же, к твоему удивлению, можно вызывать методы, передавать свои методы в js код и прочее:)


vegarulez   (2010-12-06 14:22:00) [7]

ок. вопрос снят:

V.hlneed:=бла-бла-бла

большое спасибо!


vegarulez   (2010-12-06 14:22:00) [8]

И. Павел ©   (06.12.10 14:11) [6]

Аха - тоже уже попробовал - как ни странно всё рабит )
Всё так просто - прям удивительно )

Ещё раз спасибо.


И. Павел   (2010-12-06 14:11:00) [9]

> А как записать в эту переменную какое либо значение??

Как ни странно, но:
V.hlneed := value;


vegarulez   (2010-12-06 14:05:00) [10]

Ок. Чтение идёт - спасибо.
А как записать в эту переменную какое либо значение??


И. Павел   (2010-12-06 08:18:00) [11]

> [3] Дмитрий С ©   (05.12.10 16:41)

Здорово. И впрямь работает.


Дмитрий С   (2010-12-05 16:41:00) [12]

Например, надо получить доступ к переменной "hlneed":

var
 V: OleVariant;
begin
 V := WebBrowser1.Document;
 V := V.parentWindow;
 showmessage(V.hlneed);
end;


vegarulez   (2010-12-04 11:02:00) [13]

не... так низя. Инпуты хоть и скрытые присутсвуют в хтмл коде. так что так низя. Мне нужно именно читать\записывать переменные javascript


И. Павел   (2010-12-03 18:14:00) [14]

Можно написать функции на java script, которые будут читать эти переменные и записывать их значения в скрытые input поля. Ну а оттуда прочитать - пара пустяков.

Хотя это, конечно, обходной путь.


Наверх

Титульная страница Поиск, карта сайта Написать письмо