Externe Textdatei nutzen

Guten Morgen,

also mein Problem ist folgendes, und zwar haben meine Eltern auf Ihrer Website einen Newsticker, beim dem leider zu selten die Texte geändert werden, weil meine Eltern sich nicht mit HTML zu Recht finden.
Nun hab ich mir gedacht, dass ich den Ticker so änder, dass der Text aus einer txt-Datei eingelesen wird, so müssen sie lediglich diese Datei beabeiten, aber irgendwie klappt meine Idee nicht, ich hoffe jemand von euch kann mir helfen.

Im folgenden findet ihr den Quelltext: (Die Variable „text“ soll den Text beinhalten!)

<!-- begin
<!-- Exemplarvariable -->
var max = 0;

function textlist(){
max = textlist.arguments.length;

for (i=0; i<max; i++)
this[i]=textlist.arguments[i];
}

text = new textlist(
„Test, Test, Test“
„1“
„2“
„3“
„4“
„5“
„Hat geklappt!“
);

var x = 0; pos = 0;
var l = text[0].length;

function textticker(){
document.tickform.tickfield.value=text[x].substring(0,pos)+"_";
if(pos++==l){
pos=0;
setTimeout(„textticker()“,1000);
x++;
if(x==max)
x=0;
l=tl[x].length;
} else
setTimeout(„textticker()“,50);
}
// end -->

Vielen Dank, und bis bald.
Daniel

Hallo Daniel,

wie wäre es den Text aus eine XML-Datei zu lesen? XML ist ist auch nur eine Textdatei, die ein wenig formatiert ist. Da man das Format recht einfach wählen kann, würde ich folgendes vorschlagen:

----- Beispieldatei: tickerdat.xml ------------------------------------------------

<?xml version="1.0" encoding="iso-8859-1"?>

TEST, TEST, TEST

Nächste Zeile

Taucherwitz: Blubb blubber, weg war er!

Noch’n Ticker!

----- Beispieldatei: tickerdat.xml ------------------------------------------------
Alles was zwischen und ist eine Tickerzeile und sollte auch von Nicht-Freaks verstanden werden.

Mit folgendem JS-Code liest Du die Tickerzeilen in das Array „arrTickTxt“:

----- JavaScript: tickerdat.xml laden ---------------------------------------------

var tickerfile = „tickerdat.xml“; // Name der XML-Datei, die die Tickertexte enthält
var xmlDoc, brw=„non“;
var arrTickTxt = new Array();

function loadXmlTicker()
{
if ( document.implementation && document.implementation.createDocument )
{
xmlDoc = document.implementation.createDocument( „“, „“, null );
xmlDoc.onload = readTickerTexts;
brw=„moz“;
}
else if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject( „Microsoft.XMLDOM“ );
xmlDoc.async = false;
xmlDoc.validateOnParse = false;
xmlDoc.onreadystatechange = function () { if ( xmlDoc.readyState == 4 ) { readTickerTexts(); } };
brw=„mie“;
}
else
{
alert( „Your browser cant handle this script“ );
return;
}

try
{
xmlDoc.load( tickerfile );
}
catch (e)
{
alert( "can’t load " + tickerfile + ": " + e.description );
return;
}
}

function readTickerTexts()
{
var tickerElements = xmlDoc.getElementsByTagName( „TickerText“ );
var anzahl = tickerElements.length

for ( var i = 0 ; i < anzahl ; i++ )
{ // Textknoten (in Mozilla und Netscape werden die dummerweise auch uebergeben) ignorieren
if ( 3 != tickerElements[i].nodeType )
{
arrTickTxt.push( tickerElements[i].nodeValue );
}
}

}

// … Dein eigener TickerCode …

----- JavaScript: tickerdat.xml laden ---------------------------------------------

Damit das Laden automatisch funktioniert folgende BODY-Zeile verwenden:

Den JS-Code kannst Du auch in einer eingen Datei speiechern z.B. xmltick.js und diese auf jeder Page mittels

in der HEAD-Sektion einbinden.

Dann braucht man dann nur noch die XML-Datei austauschen und schon gibt es neue Tickertexte.

Hoffe das hilft Dir ein wenig.

Gruß
Volkmar

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Volker,

also ich hab deinen Quellcode mal kopiert, um es erst einmal aus zu probieren, und es klappt leider nicht. Da muss irgendein Fehler sein, wäre schön, wenn du noch einmal gucken würdest, weil ich kein Ahnung davon habe.

Gruß Daniel

@Einfügen: Wie bekomm ich den Ticker dann an die von mir gewählte Stelle?

Erstellte Testdatei unter:

Hallo Daniel,

ist es das was Du möchtest?

http://www.brisse.de/ticker/ticker.htm

Sorry, hatte einen kleinen Fehler drin.

Die einzelnen Dateien sind:
http://www.brisse.de/ticker/ticker.htm
http://www.brisse.de/ticker/ticker.css
http://www.brisse.de/ticker/tickerdat.xml
http://www.brisse.de/ticker/xmltick.js

Gruß
Volkmar

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]