Sven: Externe Text-Datei in array einbinden

Hallo,

ich habe ein schönes Javascript gefunden, mit dem ich mehrere Textzeilen ausgeben kann, da gut funktioniert:

<script language="javascript">

var delay=50;
var nextm=0;

var msg=new Array
(
        'So hier nun ein etwas anderer Ticker   ',
        'Ohne die hässlichen Formkästchen   ',
        'Ach übrigens    ',
        'Solltet Ihr über eine Suchmaschine auf diese Seite gekommen sein   ',
        'klickt rechts unten auf Startseite   ',
        'die anderen brauchen das Fenster nur zu schließen   ',
        'und Ihr seid wieder bei der Auswahl   '
);

function start_ticker()
{
        do_ticker(msg[0], 0, 1);
}

function do_ticker(text, pos, dir)
{
        var out='<font face="Arial,Helvetica,MS Sans Serif"><strong><font color="black" size=-1>'+text.substring(0, pos)+'</strong></font>';
        if(navigator.appName=="Netscape")
                with(document.ticker.document)
                {
                        open(); write(out); close();
                }
        else
                ticker.innerHTML=out;

pos+=dir;

if(pos>text.length)
                setTimeout('do_ticker("'+text+'",'+pos+','+(-dir)+')', delay*1);
        else
        {
                if(pos<0)
                {
                        if(++nextm>=msg.length)
                                nextm=0;
                        text=msg[nextm];
                        dir=-dir;
                }

setTimeout('do_ticker("'+text+'",'+pos+','+dir+')', delay*1);
        }
}
// -->
</script>

Jetzt möchte ich gerne diese Textzeilen über eine externe .txt Datei einfügen, um immer auf aktuelles hinzuweisen:
var msg=new Array
(
        'So hier nun ein etwas anderer Ticker   ',
        'Ohne die hässlichen Formkästchen   ',
        'Ach übrigens    ',
        'Solltet Ihr über eine Suchmaschine auf diese Seite gekommen sein   ',
        'klickt rechts unten auf Startseite   ',
        'die anderen brauchen das Fenster nur zu schließen   ',
        'und Ihr seid wieder bei der Auswahl   '
);

Was auch ginge wäre so eine Textlistenfunktion:

function textlist()
{
        max=textlist.arguments.length;
        for (i=0; i<max; i++)
                this[i]=textlist.arguments[i];
}
tl=new textlist
(
        " Jemanden wie ein rohes Ei zu behandeln, bedeutet meistens, ihn in die Pfanne zu hauen.",
        " Wenn die Klügeren immer nachgeben, geschieht nur das, was die Dummen wollen.",
        " Jeder Mensch hat ein Recht auf meine Meinung.",
        " Ich sage, was ich denke, damit ich höre, was ich weiß.",
        " Wer für alles offen ist, kann nicht ganz dicht sein!",
        " Sei schlau: Bleib' dumm!!!",
        " Wenn alle das täten, was sie mich mal können - dann käme ich nie zum sitzen!",
        " Alle Menschen sind gleich, mir jedenfalls!",
        " ",
        " "
);

Danke im voraus für jede Hilfe :o)

Gruss Sven

  1. Hi,

    ich habe ein schönes Javascript gefunden,

    es ist *nicht* schön.

    <script language="javascript">

    ERROR: Required attribute "type" missing.

    Schon _vor_ dem JavaScript-Code ein Fehler. Fantastisch.

    var out='<font face="Arial,Helvetica,MS Sans Serif"><strong><font color="black" size=-1>'+text.substring(0, pos)+'</strong></font>';

    Verwendeung von abgelehnten HTML-Elementen in ungültiger Syntax. Vorzeitige Beendigung des <script>-Blockes unter Erzeugung fehlerhafter JavaScript-Syntax.

    if(navigator.appName=="Netscape")

    Verwendung des zweit-nutzfreiesten Objektes.

    with(document.ticker.document)

    Verwendung von Objektstrukturen, ohne diese vorher auf Existenz zu prüfen, geschweige denn Cross-Browser-Kompatibilität herzustellen.

    setTimeout('do_ticker("'+text+'",'+pos+','+(-dir)+')', delay*1);

    Verwendung von Methoden ohne Angabe des zugehörigen Objektes.

    Jetzt möchte ich gerne diese Textzeilen über eine externe .txt Datei einfügen, um immer auf aktuelles hinzuweisen:

    Hast Du danach im Archiv gesucht?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. ich habe ein schönes Javascript gefunden,

      es ist *nicht* schön.

      Hast Du danach im Archiv gesucht?

      Cheatah

      Es funktioniert aber so wie ich mir das vorstelle. Im Archiv habe ich auch gesucht, aber nix passendes gefunden.

      Sven

      1. Hi,

        Es funktioniert aber so wie ich mir das vorstelle.

        seit wann ist "es funktioniert" ein Argument?

        Im Archiv habe ich auch gesucht, aber nix passendes gefunden.

        Ich habe auch nicht gesagt, dass Du etwas _passendes_ findest.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. Hi,

    Jetzt möchte ich gerne diese Textzeilen über eine externe .txt Datei einfügen, um immer auf aktuelles hinzuweisen:

    JavaScript kann nicht auf Dateien zugreifen. Du hast also keine Möglichkeit, nur mit JavaScript die txt-datei auszulesen.

    Es gibt hier einen Feature-Artikel, der das auslesen einer txt-datei mittels eines JavaApplets ermöglicht. Dies solltest Du allerdings nur in betracht ziehen, wenn Du sehr viele große txt-Dateie einlesen möchtest, weil Du sehr effektiv steuern kannst, welche txt-Dateien nun heruntergeladen werden sollen und welche nicht.

    Um einfach nur eine txt-Datei einzufügen, würde ich einen kleinen Trick anwenden:

    Du packst das Array mit den Ticker-Daten in eine externe .js-Datei und bindest diese in deine HTML-Seite ein. So musst du auch nur diese eine Datei abändern um aktuelle Ticker-Daten eintragen zu können und umgehst so die Beschränkung, dass JS nicht auf Dateien zugreifen kann.

    Danke im voraus für jede Hilfe :o)

    Bidde bidde ;o)

    Viele Grüße...

    Alex :)

    --
    ss:| zu:) ls:# fo:) de:[ va:) ch:) sh:| n4:# rl:° br:^ js:| ie:| fl:( mo:|
    1. Bidde bidde ;o)

      Viele Grüße...

      Alex :)

      Werd ich mal Probieren - danke.

      Ebenfalls viele Grüße

      Sven