Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.02.27;
Скачать: CL | DM;

Вниз

[Twebbrowser+javascript] Получить переменные java   Найти похожие ветки 

 
vegarulez   (2010-12-03 17:41) [0]

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


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

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

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


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

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


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

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

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


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

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

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


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

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


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

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

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


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

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

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

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


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

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

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

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


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

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


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

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


 
DiamondShark ©   (2010-12-08 15:24) [11]


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

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

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

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


 
sniknik ©   (2010-12-08 16:12) [12]

namespaces


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

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

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


 
sniknik ©   (2010-12-09 07:59) [14]

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



Страницы: 1 вся ветка

Текущий архив: 2011.02.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.007 c
3-1253354851
Sergey__
2009-09-19 14:07
2011.02.27
Fbserver


15-1290093673
картман
2010-11-18 18:21
2011.02.27
ТЗ


3-1253521934
alsov
2009-09-21 12:32
2011.02.27
Ошибка подключения к mssql 2005


15-1289204232
savva
2010-11-08 11:17
2011.02.27
[Работа] требуется Delphi разработчик (Москва)


15-1290167268
Jeer
2010-11-19 14:47
2011.02.27
Тенденции, однако..