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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.003 c
15-1458927964
эндсоувот
2016-03-25 20:46
2017.03.19
???


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


2-1435930281
Степанов Михаил В.
2015-07-03 16:31
2017.03.19
Ошибка структуры БД


2-1436574544
Платинум
2015-07-11 03:29
2017.03.19
Посчитать 32-bit CRC


2-1436599591
Alex118
2015-07-11 10:26
2017.03.19
Закрыть текущую вкладку в другой программе