Flash MX 2004 RSS Reader - Freestuff

Λύσεις προβλημάτων για το δημοφιλές πρόγραμμα κατασκευής παρουσιάσεων στο διαδίκτυο.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
tsiger
Honorary Member
Δημοσιεύσεις: 1431
Εγγραφή: 11 Νοέμ 2002 13:40
Τοποθεσία: Thessaloniki Observation Center
Επικοινωνία:

Flash MX 2004 RSS Reader - Freestuff

Δημοσίευση από tsiger » 13 Απρ 2005 15:58

Χαιρετω τον εξω κοσμο.

Μολις καταφερα να τελειωσω ενα RSS Reader γραμμενο σε Flash MX 2004 Pro.

Για να δουμε ομως τι συνεβει. Ειμαι αυπνος οποτε οποιαδηποτε λαθοι συγχωρεμενα.

Ξεκιναω λοιπον και κατεβαζω το xml file του Freestuff και αρχιζω στο χαρτι να σχεδιαζω πως θα επεμβω στα Nodes "item" για να μπορεσω να παρω τους τιτλους και να τους ριξω μεσα σε ενα List Component.

Για να δουμε τον κωδικα:

Κώδικας: Επιλογή όλων

//emfanisi ellinikwn
System.useCodepage = true;

//katametrisi twn Nodes "item"
var itemNodeCount:Number = 0;

dimiourgia neou antikeimenou XML me ono myXML
var myXML:XML = new XML();
myXML.ignoreWhite = true;


myXML.onLoad = function(success) {

// dimiourgia telikou array pou tha kratisei ta "items"
	var myArray:Array = new Array();

// anazitisi mesa sto xml gia ta nodes "item" 
// se periptwsi pou vrethoune ta rixnoume se ena proswrino array
// apo ekei sto teliko
// kai fisika mesw tis methodou addItem rixnoume tis times sto list component
// ta prwta panigiria arxisane. to array krataei kai ta ypoloipa nodes peran tou "item" kai etsi sto list emfanizontai kenes epiloges.
//8 wres meta ola ok.
// eutixws eixa to XMLSpy kai katafera na valw sto mialo mou tin domi tou arxeiou
// to pws anaferomaste se kathe node tha to pw kapoia alli stigmi.


	for&#40;var i&#58;Number = 0;i<this.firstChild.firstChild.childNodes.length;i++&#41;&#123;
		currentNode = myXML.firstChild.firstChild.childNodes&#91;i&#93;;
				
		if&#40;currentNode.nodeName == "item"&#41;&#123;
			var tempArray&#58;Array = new Array&#40;&#41;;
			itemNodeCount++;
			tempArray.label = currentNode.firstChild.firstChild;
			tempArray.link = currentNode.childNodes&#91;1&#93;.firstChild.nodeValue;
			//trace&#40;tempArray.link&#41;;
			myArray&#91;i&#93; = tempArray;
			mylist.addItem&#40;myArray&#91;i&#93;&#41;;
		&#125;
	&#125;

&#125;//myXML.onLoad

//fortwnoume to local.xml, edw arxizoune ta deutera panigiria. tha doume giati.
myXML.load&#40;"local.xml"&#41;;

//sto stage exw ri3ei ena text component apla gia
// na emfanizw to url. 
// edw dimiourgoume ena event listener gia na to ananewnoume
// otan allazei &#40;change&#41; i epilogi tis listas mas
var listListen&#58;Object = new Object&#40;&#41;;
	listListen.change = function&#40;&#41;&#123;
	link_lb.text = "<a href='"+mylist.selectedItem.link+"'>"+mylist.selectedItem.link+"</a";
	&#125;

// kataxwrisi tou listener
mylist.addEventListener&#40;"change",listListen&#41;;


//dimiourgia enos listener 3ana, auth th fora gia kataxwrisi
// tis URL sto koumpi mas.
var btnClick&#58;Object = new Object&#40;&#41;;
btnClick.click = function&#40;&#41; &#123;
			getURL&#40;mylist.selectedItem.link&#41;;
	&#125;
btnvisit.addEventListener&#40;"click",btnClick&#41;;
Προβλημα 1: Λογω του οτι στο ιδιο επιπεδο με το Node "items" υπαρχουνε κι αλλα, η λιστα μου γεμιζε περαν απο τους τιτλους του "items" και με κενα γιατι εβλεπε τα υπολοιπα Nodes. Ξενερωμα. Το βρηκα σημερα γυρω στις 4 το πρωι.

Προβλημα 2: H macromedia που λετε απαγορευει στον Flash player (6,7) την προσβαση σε αρχειο απο αλλον server (loadvars,xml κλπ).
[Info:http://www.macromedia.com/support/flash ... curity.htm]
Ειναι τοσο χαζο αυτο (μην ανησυχειτε τους κραζουνε και στο επισημο forum τους) γιατι ενω απο το url μπορω να δω το xml δε μπορω μεσω Flash.

Λυση 1: Στον server που φιλοξενει το αρχειο xml βαζουμε ενα αρχειο με το ονομα "crossdomain.xml" με τον εξης κωδικα:

Κώδικας: Επιλογή όλων

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy 
SYSTEM "http&#58;//www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
Σε φαση ομως που δεν εχουμε access στον server οπως εγω στου Freestuff?

Λυση 2: PHP Ολε. Στηγ σελιδα με το swf μας γραφουμε πανω ψηλα και πανω απο ολα τον παρακατω κωδικα:

Κώδικας: Επιλογή όλων

<?php
$contents=implode&#40;"",file&#40;"http&#58;//www.freestuff.gr/export.rss.php"&#41;&#41;; 
$fp = fopen&#40;"local.xml",w&#41;;
fwrite&#40;$fp,$contents&#41;;
?>
με αυτον τον ΤΟΣΟ απλο τροπο περνουμε το αρχειο απο τον server και απλα το γραφουμε σε ενα τοπικο αρχειο. Ε απο το swf πλεον βλεπουμε στο τοπικο αρχειο και ολα καλα.

Μου την εχει σπασει τωρα γιατι μεσα σε 5 λεπτα γραφω αυτα που μου πηρανε μια μερα παρα μια ωρα να κανω. :D

Αυτο ηταν guys. Τωρα επομενος στοχος ειναι ενας RSS reader για περισσοτερα specs (0.91, 1.0, 2.0).

Για την ωρα παω να ξεραθω.

Happy (?what?) Programming :D

A! TO LINK! http://www.digitaloutbreak.org/freestuff/show.php

Άβαταρ μέλους
xmavidis
Honorary Member
Δημοσιεύσεις: 1217
Εγγραφή: 02 Δεκ 2003 19:59
Τοποθεσία: Ηράκλειο

Flash MX 2004 RSS Reader - Freestuff

Δημοσίευση από xmavidis » 13 Απρ 2005 16:08

Πολύ ωραίο!
:clap: :clap: :clap:
I want to know God’s thoughts; the rest are details.
Albert Einstein

emphasy
Honorary Member
Δημοσιεύσεις: 4303
Εγγραφή: 16 Ιαν 2005 10:31

Flash MX 2004 RSS Reader - Freestuff

Δημοσίευση από emphasy » 13 Απρ 2005 16:16

Nice... :)

Άβαταρ μέλους
tsiger
Honorary Member
Δημοσιεύσεις: 1431
Εγγραφή: 11 Νοέμ 2002 13:40
Τοποθεσία: Thessaloniki Observation Center
Επικοινωνία:

Flash MX 2004 RSS Reader - Freestuff

Δημοσίευση από tsiger » 13 Απρ 2005 16:19

προσωπικα γιατι εχω βαλθει να εκθεσω αυτο το τερας που λεγεται XML in Flash... :reading: :reading: :reading: :reading:

για αλλους για απλο syndication νεων στο site τους

emphasy
Honorary Member
Δημοσιεύσεις: 4303
Εγγραφή: 16 Ιαν 2005 10:31

Flash MX 2004 RSS Reader - Freestuff

Δημοσίευση από emphasy » 13 Απρ 2005 16:24

Απάντησες στην ερώτηση μου πριν το edited :P

LightForce
WebDev Moderator
Δημοσιεύσεις: 3812
Εγγραφή: 13 Απρ 2003 23:49

Flash MX 2004 RSS Reader - Freestuff

Δημοσίευση από LightForce » 14 Απρ 2005 18:17

ωραία πράγματα, μπράβο tsiger ... :-)

dimadoniou
Δημοσιεύσεις: 7
Εγγραφή: 29 Οκτ 2004 19:40

Flash MX 2004 RSS Reader - Freestuff

Δημοσίευση από dimadoniou » 07 Οκτ 2005 16:29

:D Αυτό που έψαχνα :clap:

Απάντηση

Επιστροφή στο “Flash γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες