Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-06-2009, 11:25   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 15
html links via xml laden

Hallo,

ich versuche mich gerade an xml und flash.
Ich habe es auch geschafft, die xml Datei nach Flash reinzuladen.

In der xml Datei habe ich dann html links angelegt und über ein externes CSS formatiert.

Mein Problem ist jetzt, dass die über xml geladenen links zwar in meinem dyn. Textfeld in Flash erscheinen und auch die CSS Formatierung erkannt wird (also die Linkfarbe und auch die hover-Farbe). Der Mauszeiger reagiert auch auf die Links wie auf normale html-links, also Maus-Pfeil wechselt zu Maus-Hand und die hover-farbe erscheint
ABER
der link funktioniert nicht! Wenn man drauf klickt passiert nichts.

Weiß jemand, woran das liegt? - Habe wie gesagt keine Erfahrung mit xml und mache deshalb vielleicht etwas ganz simples grundlegendes falsch.

Gruß,
masa
masamasa ist offline   Mit Zitat antworten
Alt 14-06-2009, 11:41   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Weiß jemand, woran das liegt?
Ein paar Infos mehr wären ganz hilfreich...
  Mit Zitat antworten
Alt 14-06-2009, 12:09   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 15
Hallo agedoubleju,

Mein xml sieht so aus:

HTML-Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<thema>
<news>
	<newsitem><a href="http://www.google.com">google</a></newsitem>
	<newsitem><a href="http://www.yahoo.de">yahoo</a></newsitem>
	<newsitem><a href="http://www.adobe.de">Adobe</a></newsitem>
</news>
<kalender>
	<kalenderitem><a href="/agenda/seite1.htm">Seite 1</a></kalenderitem>
	<kalenderitem><a href="/agenda/seite2.htm">Seite 2</a></kalenderitem>
</kalender>
</thema>
Mein AS so:
Code:
dynTextNews.html = true;
dynTextNews.wordWrap = true;
dynTextNews.multiline = true;
dynTextNews.label.condenseWhite=true;

newsContent = new XML();
newsContent.ignoreWhite = true;
newsContent.load("/test.xml");
newsContent.onLoad = function(success){
	if(success){
		dynTextNews.text = newsContent.childNodes[0].childNodes[0];
	}
}
Das dynTextNews ist dann natürlich mein dyn. Textfeld.

Gruß,
masa

Geändert von masamasa (14-06-2009 um 13:04 Uhr)
masamasa ist offline   Mit Zitat antworten
Alt 14-06-2009, 18:30   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Du solltest die Anker-Tags im XML in CDATA-Sequenzen packen...
  Mit Zitat antworten
Alt 14-06-2009, 20:08   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 15
Das hatte ich zwischenzeitlich auch schon mal probiert, hatte aber keinen Erfolg.
Also etwa so:

HTML-Code:
....
	<newsitem><![CDATA[<a href="http://www.google.com">google</a>]]></newsitem>
....
Aber dann gibt mir das dyn. Textfeld nur das aus:

HTML-Code:
<a href="http://www.google.com">google</a>
und nicht:

HTML-Code:
google
als funktionierender link.

Irgendwie wird der html code scheinbar nicht interpretiert, sondern einfach als Text eingelesen.

Gruß,
Markus
masamasa ist offline   Mit Zitat antworten
Alt 15-06-2009, 04:00   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Du solltest natürlich den String der htmlText-Eigenschaft des Textfeldes übergeben, nicht der text-Eigenschaft...
PHP-Code:
//dynTextNews.text = newsContent.childNodes[0].childNodes[0];
dynTextNews.htmlText newsContent.childNodes[0].childNodes[0]; 
  Mit Zitat antworten
Alt 15-06-2009, 08:31   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 15
Hi Holger,

habe ich eingebaut aber leider das gleiche Ergebnis...
(ich hatte weiter oben ja auch schon mal die html Eigenschaft des Textfeldes gesetzt.)

Was ich bei der ganzen Sache nicht verstehe ist, dass ich, wenn ich die swf lokal teste (auch ohne CDATA angaben in xml), die typische Flashplayer-Meldung bekomme, dass ein unsicherer Vorgang gestoppt wurde... bla bla... also genau so, als ob man auf einen getURL link in einem Flashfilm geklickt hätte.
Nur tut sich eben nichts...

Gruß,
Markus
masamasa ist offline   Mit Zitat antworten
Alt 15-06-2009, 08:38   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Poste mal fla und xml...
  Mit Zitat antworten
Alt 15-06-2009, 09:05   #9 (permalink)
Neuer User
 
Registriert seit: Feb 2006
Beiträge: 468
hello,

das müsste online funktionieren.

oder du installierst apache (xampp) auf dein rechner und testen testen.
hier

ps: das geht auch ohne cdata
chanel ist offline   Mit Zitat antworten
Alt 15-06-2009, 09:37   #10 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 15
Hi,

bin leider gerade an einem Computer von dem aus ich nichts hochladen kann...
Aber der (interessante) Inhalt von fla und xml steht ja schon weiter oben geposted. Das einzige was die fla außer dem script in frame 1 noch enthält ist das dyn. Textfeld, ebenfalls in frame 1.

Gruß,
masa
masamasa ist offline   Mit Zitat antworten
Alt 15-06-2009, 13:11   #11 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 15
So, jetzt klappt's auch mit dem Hochladen.
Anbei die fla und die xml.
Sind ganz simple Beispieldateien.

Noch zu chanel:
Leider funktioniert es online nicht.
Wie gesagt, dass (merkwürdige) Problem ist, die links werden anscheinend nicht als solche erkannt, obwohl der Mauszeiger auf sie reagiert....

Gruß,
masa
Angehängte Dateien
Dateityp: zip xmlflash.zip (5,4 KB, 8x aufgerufen)
masamasa ist offline   Mit Zitat antworten
Alt 15-06-2009, 13:20   #12 (permalink)
Neuer User
 
Registriert seit: Feb 2006
Beiträge: 468
vielleicht wenn du diesen abschnitt änderst.

kann auch nicht testen.

PHP-Code:
vorher musst du natürlich  von dynTextNews html aktivieren oder mit actionscript:dynTextNews.html true


das hier 
->
dynTextNews.text newsContent.childNodes[0].childNodes[0];


in ->

dynTextNews.htmlTextnewsContent.childNodes[0].childNodes[0];

ändern
chanel ist offline   Mit Zitat antworten
Alt 15-06-2009, 13:29   #13 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 15
Das hatte agedoubleju auch schon vorgeschlagen (5 posts nach oben).
masamasa ist offline   Mit Zitat antworten
Alt 15-06-2009, 13:36   #14 (permalink)
Neuer User
 
Registriert seit: Feb 2006
Beiträge: 468
ich bin auf der arbeit und kann nicht in deine fla gucken.

noch ein versuch:
PHP-Code:



das 
->
newsContent.childNodes[0].childNodes[0];

so schreiben ->
this.firstChild.childNodes[0].firstChild.childNodes[0
chanel ist offline   Mit Zitat antworten
Alt 15-06-2009, 19:36   #15 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 15
Hallo chanel,

der einzige Unterschied hierbei ist doch, dass nur das erste child, in meinem Fall also google, ausgegeben wird. Aber ansonsten ändert sich denke ich nichts...
Allerdings kann ich nicht auf einem Server testen, da das Netzwerk, in dem ich gerade hänge, kein FTP upload zuläßt...

Gruß,
masa
masamasa ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele