Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
11-1206640025
arthur
2008-03-27 20:47
2011.02.27
app crashing when sysutils exceptions are trowed


15-1289990564
alexdn_
2010-11-17 13:42
2011.02.27
Майкрософт, конференция, платформа 2011


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


15-1289660689
Медвежонок Пятачок
2010-11-13 18:04
2011.02.27
некоторые художники утверждают ...


15-1290157965
И. Павел
2010-11-19 12:12
2011.02.27
Обновление 500 копий программы с сетевого диска.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский