Форум: "Основная";
Текущий архив: 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