Форум: "Начинающим";
Текущий архив: 2011.02.27;
Скачать: [xml.tar.bz2];
Вниз[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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c