Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   отпарсить страницу с AJAX (http://www.flasher.ru/forum/showthread.php?t=116431)

rty 30.09.2008 15:07

отпарсить страницу с AJAX
 
Надо сделать десктопное флэш приложение, которое будет грузить html-страницу, часть элементов которой подгружаются ява-скриптами, а затем производить парсинг страницы. Флэш, естественно, не грузит данные, формируемые скриптами (не уверен, что кто-то писал парсер Java Script для флэш). По этой причине возник вопрос: Zinc в этом случае может помочь? Есть у него возможность осуществить загрузку страницы в IE-контрол, а потом передать текст на парсинг методам флэша?

alexcon314 30.09.2008 17:32

У цинка есть класс mdm.Browser. Это и есть IE-контрол. Только не допонял: зачем парсить? Она в IE-контроле отобразится и все. Передать из контрола в оболочку что-либо ... ммм... так сразу не скажешь.
Возможно, Browser.source использовать.

rty 30.09.2008 17:50

alexcon314
ага. я это и имел в виду. в оболочку.
Browser.source попробую. Судя по лайвдокс- то, что нужно, но как оно работать будет - надо пробовать. Спасибо :)
появилась еще мысль грузить через Browser, а потом сохранять в папку Temp, затем парсить и удалять. Цинк, ведь, дает возможность сохранять в фоновом режиме?

alexcon314 30.09.2008 17:57

Смотря что есть "фоновый режим":).
Отдельным потоком - только через длл. А так - пока не сохранит, будет "висеть".
Хотя, можно и так попробовать
Код:

mdm.FileSystem.saveFile("c:\\myText.txt", "My text data", _global.mdm["ASYNC"]);
Результат этого не гарантирую:)

rty 30.09.2008 18:22

Под "фоновым" я имел в виду без открытия диалогового окна сохранения. вот ))

Browser.source работает, успешно передает данные во флэш. Думаю, что с временными файлами не придется заморачиваться!.
Спасибо за помощь!
зы. В очередной раз понимаю, что цинк - это хорошо. :) интересно, а в Air такой фокус проделать можно?

Air_mAn 01.10.2008 19:30

Цитата:

Сообщение от rty (Сообщение 767351)
интересно, а в Air такой фокус проделать можно?

По умолчанию HTMLLoader запрещает AJAX запросы на другие домены, чтобы разрешить это, надо грузить страницу в отдельный frame или iframe, задавать ему свой sandbox, и выставлять разрешение лазить на другие домены:
Код:

<iframe id="UI"
    src="http://example.com/ui.html"
    sandboxRoot="http://example.com/"
    allowcrossDomainxhr="true"
    documentRoot="app:/">
</iframe>

Дальше все просто :)


Часовой пояс GMT +4, время: 07:42.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.