Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2017.03.19;
Скачать: [xml.tar.bz2];

Вниз

Переменные из окна браузера   Найти похожие ветки 

 
mfender   (2012-10-10 11:24) [0]

Здравствуйте, уважаемые!

После выполнения Javascript в браузере (TWebBrowser) остаётся некая переменная. Путём нехитрых манипуляций с OleVariant её достаточно легко получить. Но это хорошо, если она строка, или Integer. Но если там объект, то мне приходит строка вида [object Object],[object Object],[object Object],[object Object],[object Object],[object Object] (то же самое, как если в консоли браузера написать varname.toString()).

Всвязи с этим вопрос: есть ли какой-нибудь простой способ получить этот объект, не прибегая к сериализации объекта в JSON или XML?


 
Лаур Балаур   (2012-10-10 12:05) [1]

Есть. Сериализация в JSON или XML.

А вообще, какой такой "объект" нужно "получить"? В каком виде? Не угодно ли пояснить детали сей операции "получения"? Только без фантазий, битте.


 
mfender   (2012-10-10 12:52) [2]

В глобальных переменных окна (IHTMLWindow2) есть переменная array ret. При помощи Firebug она выглядит вот так (см. картинку)

http://i26.fastpic.ru/big/2012/1010/ce/e35e12f4f5665fb7585ca64aa3b0ddce.png

Это массив объектов.

var
 doc: IHTMLDocument2;
 res, r: OleVariant;
begin
 res := WebBrowser1.Document as IHTMLDocument2;
 res := res.parentWindow;
 r := res.ret;


В переменной r строка [object Object],[object Object]....

Но, вобщем-то, уже понимаю. что в Delphi нет понятия ассоциативных массивов. Действительно нужно разбирать JSON. Наверное, оно и к лучшему, хоть и немного муторным кажется сама писанина )))


 
han_malign   (2012-10-10 15:20) [3]


> В переменной r строка

- а ты уверен, что там строка, а не массив VT_DISPATCH, со всеми вытекающими(в данном случае - со свойствами link и text)?
Но JSON попроще будет...


 
mfender   (2012-10-10 19:03) [4]


> - а ты уверен, что там строка, а не массив VT_DISPATCH,
> со всеми вытекающими(в данном случае - со свойствами link
> и text)?
> Но JSON попроще будет...

Вот не уверен, потому и спрашивал.
Но JSON, уже теперь уверен, лучше. По аналогии с XML Data Binding делаю класс. JSON разбираю при помощи uLkJSON. Нашёл такую вот штуку. Без документации, правда, но там всё более-менее интуитивно понятно.



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

Форум: "Основная";
Текущий архив: 2017.03.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.001 c
1-1348636173
Дмитрий Белькевич
2012-09-26 09:09
2017.03.19
Как включить scroollbars у TShellTreeView?


2-1436168887
Арт
2015-07-06 10:48
2017.03.19
Вопрос по базе Access


2-1436292854
vadim83
2015-07-07 21:14
2017.03.19
Вопрос по CenteredRect


1-1349853892
mfender
2012-10-10 11:24
2017.03.19
Переменные из окна браузера


2-1436797835
Wadimkas
2015-07-13 17:30
2017.03.19
Не пойму в чем проблема Array and Char





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