Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Есть проблема при работе с XML - кто бы разъяснил? (http://www.flasher.ru/forum/showthread.php?t=145573)

L3R 12.10.2010 23:54

Есть проблема при работе с XML - кто бы разъяснил?
 
Вложений: 1
Есть идея - хочу сделать читалку Твиттеровских записей со своих Тви-Блогов , и отображать на своём сайте (есть поддержка php)

за основу был взят простой flash код , который локально в дебаге Flash CS4
работает на-ура а при загрузке на хостинг - отказывается , меня мучает подозрение , что что-то с настройками безопасности но что - понять немогу , я с Flash - знаком давно еще с Flash 5 версии , и мне более понятен ActionScript 1 или 2 , хотя AS 3 - не проблема, и вообще как-то я морально устарел, О чуть не забыл вот сам код :

Код AS3:

import flash.net.URLRequest;
import flash.net.URLLoader;
 
var i:URLLoader = new URLLoader();
i.addEventListener(Event.COMPLETE, loaded);
i.load(new URLRequest("http://twitter.com/statuses/user_timeline/bape3.xml?"));
 
function loaded(e:Event):void{
    e.currentTarget.removeEventListener(Event.COMPLETE, loaded);
    var xml:XML = new XML(e.currentTarget.data);
    var list:XMLList = new XMLList(xml.status.text);
    box.text = list[0];

Мне нужно чтоб в box - загрузилась последняя запись с Твиттера взятая из сего XML http://twitter.com/statuses/user_timeline/bape3.xml
Знающий Народ подскажите , а то что-то я парюсь , наверное нужно заново учить flash , а то он сильно подрос как-то или я постарел???

f.g.programmer 13.10.2010 01:00

Для получения текста из нулевого статуса достаточно
Код AS3:

box.text = xml.status[0].text;

Думаю, не работает с хостинга потому, что вашего хоста нет в этом списке
http://twitter.com/crossdomain.xml

L3R 13.10.2010 01:28

re Проблема XML и Flash
 
Цитата:

Сообщение от f.g.programmer (Сообщение 942405)
Для получения текста из нулевого статуса достаточно
Код AS3:

box.text = xml.status[0].text;

Думаю, не работает с хостинга потому, что вашего хоста нет в этом списке
http://twitter.com/crossdomain.xml

Да так действительно короче спасибо , одну строку покрамсали . но как решить проблему ?
А не подскажете за что вообще отвечает файл crossdomain.xml ?
и почему именно из-за хостинга? , как можно исправить такую проблему?
Есть варианты - как сделать читалку XML TWITTERа?
Кстати мне Firefox выдаёт такую мессагу
Error #2044: Необработанный securityError:. text=Error #2048: Нарушение изолированной среды: http://l3r.net/test/twitter2.swf не может загрузить данные из http://twitter.com/statuses/user_timeline/bape3.xml?.
at twitter2_fla::MainTimeline/frame1()
- почему неможет ?

f.g.programmer 13.10.2010 01:39

Потому, что в твиттеровском кроссдомейне не прописано разрешение на вашу среду. Т.е. получать данные с твиттера могут только приложения расположенные на твиттере.

Обычно к загрузчику принято добавлять ещё пару слушателей, для обработки ошибок
Код AS3:

i.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
i.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityError);

Я не взломщик, поэтому вижу здесь только такие варианты - локальное приложение, приложение на твиттере
и попросисть админов твиттера, чтобы они добавили ваш хост в свой crossdomain.xml:)

iCluster 13.10.2010 01:59

в методе load класса Loader есть второй параметр - куда можно передать объект типа LoaderContext. Думаю он вам поможет в данной ситуации. Ссылка на ман

L3R 13.10.2010 02:50

Сразу извенюсь за Оффтоп
А еще я может не в теме , как я писал знаком с флэшем в основном на уровне загрузить мувиклип в мувиклип - или goto and .. так я обычно программирую на других языках программирования , есть ли вообще среда программирования под Флэш , с intellisense и более менее нормальной подсветкой синтаксиса? вобщем на чем вы работаете ?
А теперь о теме :
Че-то не очень получается при добавлении второго параметра - ругается
1137: Incorrect number of arguments. Expected no more than 1.
Я видел решение похожей задачи - добавлением php proxy пару строк кода но незнаю как это использовать - блин задача ведь простая - есть xml - неужели его нельзя прочитать , что там Adobe за бред с безопасностью понапридумывал и давно такая жесть вообще существует ,
Может кто-то сможет подправить это до рабочего состояния?

Котяра 13.10.2010 02:51

Если знакомы с пыхой можете написать простенький скриптик, который будет забирать с твитера xml и отдавать флэшке.
запрос типа
get_xml_from_twiter.php?user=timeline&post=bape3.xml
т.к. скрипт будет на вашем хостинге - флэшка его сожрёт без проблем )
по ИДЕ поищите по форуму FlashDevelop или тут мой обзор (правда старый, жутко субъективный и картинки потерялись, но основные игроки указаны)

f.g.programmer 13.10.2010 09:51

Выглядит как хак, но похоже должно работать. Нашёл в интернете реализацию php-proxy
http://xmlrpcflash.mattism.com/proxy_info.php

dimarik 13.10.2010 10:10

Цитата:

Сообщение от iCluster (Сообщение 942409)
в методе load класса Loader есть второй параметр - куда можно передать объект типа LoaderContext. Думаю он вам поможет в данной ситуации.

У автора URLLoader.

iCluster 13.10.2010 11:58

Цитата:

Сообщение от dimarik (Сообщение 942425)
У автора URLLoader.

Да, точно, прошу прощения, не заметил.


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

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