Главная страница
    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.007 c
2-1291389620
Василий Иванович
2010-12-03 18:20
2011.02.27
Поиск ключа в реестре.


15-1289770190
Юрий
2010-11-15 00:29
2011.02.27
С днем рождения ! 15 ноября 2010 понедельник


2-1291813130
Scott Storch
2010-12-08 15:58
2011.02.27
сравнение имен файлов по маске


2-1291585874
Ghost del vonte
2010-12-06 00:51
2011.02.27
Проверка слов


15-1289831257
R_e_T_r_O
2010-11-15 17:27
2011.02.27
Записать из делфи в эксель





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский