Problem: Flash Newsticker mit externer XML

mguenther

Grünschnabel
Hallo,

mit Hilfe des Newsticker-Tutorials habe ich diesen nachgebaut. Zusätzlich habe ich in das dynamische Textfeld eine externe XML-Datei eingeladen, aus der der Text im Newsticker abgespielt werden soll. Soweit funktioniert auch alles... aus irgendeinem Grund wird der Text allerdings dauernd wiederholt und "überschreibt" sich selbst.

Ich finde den Fehler nicht... Später soll es so laufen, dass die xml-datei per php automatisch generiert wird, so dass man den Flash-Newsticker extern "füttern" kann...

Ich würde mich freuen, wenn jemand von euch weiter weiss...

Was ganz anderes ist dann, dass Der Text momentan noch falsch eingelesen wird... Leerzeichen werden mit 20 ausgegeben usw. aber das hab ich mir noch nicht viel weiter angesehen... erstmal soll er es richtig abspielen... falls jemand spontan dafür die Lösung weiss wäre ich auch sehr dankbar!

Also vielen Dank schonmal für eure Hilfe!
 

Anhänge

  • ticker.zip
    4,9 KB · Aufrufe: 176
Hi,

Du hast eine Reihe Fehler gemacht:
  • Du darfst unter Flash MX eine Variable nicht "xml" nennen, da Du damit das XML-Objekt verdeckst.

  • Der Text in der XML-Datei (eine stinknormale txt-Datei würde es übrigens auch tun) muss url-codiert vorliegen, sprich: Du musst einen Variablenbezeichner davor setzen:
Code:
vars=Dieses ist ein Test!
  • Schließlich willst Du bei onLoad ja auch auf die "vars"-Eigenschaft des LoadVars-Objektes zugreifen - hier kommt keinesfalls der Dateiname (ohne Eindung) hin, sondern eben eine Variable, die im Text definiert wurde (siehe oben).

  • Es macht keinen Sinn, den Text im MovieClip "text" jedes Mal neu zu laden; immerhin werden mehrere Instanzen dieses MCs erstellt.

  • Du kannst "xml" nicht gleichzeitig als Bezeichner für das LoadVars-Objekt und als Textvariable verwenden. Zudem macht es dann keinen Sinn, einem Objekt auf _root einen Text zuzuweisen: das Textfeld liegt nämlich garnicht auf _root, sondern im MC "text"...

  • Dein Text wird deshalb nicht korrekt aneinandergereiht, weil das Laden der Datei u.U. ein paar Millisekunden dauert. Daher ist die Breite des Textfeldes auch nicht sofort bekannt (und die wird benötigt, um brav ein Textfeld neben das andere zu setzen).

  • Lade den Text lieber einmal auf der Hauptzeitleiste (_root) und starte den Ticker mit dem geladenen Text:
PHP:
var lv = new LoadVars();
lv.onLoad = function() {
	startTicker(this.vars);
}
lv.load("vars.xml");

function startTicker(val) {
	ticker.setText(val);
};
(siehe Anhang)

Gruß
.
 

Anhänge

  • ticker.zip
    14,1 KB · Aufrufe: 363
Passend zum letzten Eintrag nun die Folge...

bis zum 26.03.2008 lief der Ticker einwandfrei. Seit diesem Tag wird der Ticker leider nicht mehr richtig angezeigt. Lokal funktioniert alles einwandfrei, sobald ich aber auf die Website im Netz gehe, hängt der Ticker. Das Flash-Applet ist sichtbar, aber der Text wird nicht angezeigt bzw. abgespielt.
Verändert habe ich rein gar nichts. Seit 2005 lag alles so auf dem Server und von heute auf morgen funktioniert es nicht mehr. Dieser Fehler tritt nicht nur bei mir auf, sondern an mehreren Rechnern.

Habt ihr eine Idee, woran es liegen könnte? Gab es Updates beim Adobe Flash-Player? Auch auf verschiedenen Browsern habe ich es ausprobiert... www.sv-hemmingstedt.de ist die Seite auf der dieser Ticker laufen sollte...

Ich hoffe ihr könnt mir weiterhelfen!!

Vielen Dank und Grüße!!
 
Hi

Also ein Update gab es meines Wissens die letzte Zeit also die letzte Woche nicht.
Habt ihr vielleicht etwas auf dem Server umstrukturiert, dass die Datei mit dem Text nicht mehr gefunden werden kann?

Oder wurde vielleicht an der Textdatei etwas verändert was den Fehler hervorruft?

Da gibts es so einige Möglichkeiten die es sein könnten. An der .swf hast du ja nichts verändert vermute ich mal. Dann wird daran auch nichts sein.
 
Genau an der SWF habe ich nichts verändert. Serverstruktur habe ich nicht angefasst, mein Hoster (Domainfactory) hat auch nichts verändert. Wenn ich die SWF lokal öffne (im Flash Player 6) dann greift er auch auf den Webserver zu und gibt mir den Inhalt aus der Datei im Ticker aus. Ebenso gibt er mir alles richtig aus, wenn ich die Webseite lokal auf meinem Rechner im Browser öffne.

Nur wenn ich im Browser die Seite vom Webserver aus öffne, dann zeigt er mir den Ticker nicht mehr an...
 
Mhh also habe gerade das Tutorial angeschaut. Die verwenden Eigenschaften etc müsste alle noch funktionieren. Könntest du die .swf und die Textdatei hier posten um mal ein paar Tests durchzuführen.
 
Hallo,

ich weiß, dass das Thema fast 3 Jahre alt ist, aber trotzdem habe ich ein Problem.

Ich habe das Script nun soweit angepasst, das es auch .php-Datein lesen kann. Er zeigt mir auch alles wunderbar an. Nur das Problem ist, das er, wenn ich eine Ausgabe per while von der DB mache, dann gibt er mir der Newsticker nur das aus:

".$ausgabe[notiz]." +++

Im Endeffekt sieht mehr PHP-Code so aus. Die Ausgabe meines PHP-Codes sieht so aus:

PHP:
<?php
while($ausgabe = mysql_fetch_object($loesung))
	{ echo ("&vars=".$ausgabe[notiz]."  %2B%2B%2B&"); }
?>

Hat vielleicht jemand eine Idee, wieso das so ist? Am Quellcode von Flash habe ich nichts verändert. Ich würde mich sehr darüber freuen, wenn man mir bitte helfen könnte.

Ich hätte zwar die Möglichkeit, alles über Textdateien laufen zu lassen, aber Datenbanken machen sich einfach besser. :D

Gruß
BerlinerBaer
 
Zuletzt bearbeitet:
Zurück