Bilddateien aus externer Datei beziehen.

  • Hallo,


    folgendes Problem:

    Ich würde gerne in diesem Code die rotmarkierten Textzeilen aus einer

    externen Datei beziehen, da ich den Code mehrfach verwende und die Bild Dateien öfter ändern möchte ohne dies auf jeder Seite zu tun zu müssen ,auf der ich diesen Code verwende.





    Hier ist der Code um den es geht:




    <script language="JavaScript" type="text/javascript">

    <!--

    var image = new Array();

    var link = new Array();

    /** Hier die (Zufalls)-Banner eintragen. **/

    image[1] = \'http://Hier die Bilder URL Adresse 1\';

    image[2] = \'http://Hier die Bilder URL Adresse 2\';

    image[3] = \'http://Hier die Bilder URL Adresse 3\';

    image[4] = \'http://Hier die Bilder URL Adresse 4\';

    image[5] = \'http://Hier die Bilder URL Adresse 5\';

    image[6] = \'http://Hier die Bilder URL Adresse 6\';

    image[7] = \'http://Hier die Bilder URL Adresse 7\';

    image[8] = \'http://Hier die Bilder URL Adresse 8\';

    image[9] = \'http://Hier die Bilder URL Adresse 9\';

    image[10] = \'http://Hier die Bilder URL Adresse 10\';

    /** Hier die (Zufalls)-Links eintragen. **/

    link[1] = \'http://Hier kommt die Zihladresse für die Bilder URL Adreese 1\';

    link[2] = \'http://Hier kommt die Zihladresse für die Bilder URL Adreese 2\';

    link[3] = \'http://Hier kommt die Zihladresse für die Bilder URL Adreese 3\';

    link[4] = \'http://Hier kommt die Zihladresse für die Bilder URL Adreese 4\';

    link[5] = \'http://Hier kommt die Zihladresse für die Bilder URL Adreese 5\';

    link[6] = \'http://Hier kommt die Zihladresse für die Bilder URL Adreese 6\';

    link[7] = \'http://Hier kommt die Zihladresse für die Bilder URL Adreese 7\';

    link[8] = \'http://Hier kommt die Zihladresse für die Bilder URL Adreese 8\';

    link[9] = \'http://Hier kommt die Zihladresse für die Bilder URL Adreese 9\';

    link[10] = \'http://Hier kommt die Zihladresse für die Bilder URL Adreese 10\';

    /** Ab hier nichts mehr ändern! **/

    var num = Math.random();

    var ran = Math.floor((image.length - 1) * num) + 1;

    document.write(\'<a target=_blank href="\' + link[ran] + \'"><img src="\' + image[ran] + \'" border="0" /></a>\' [Blockierte Grafik: https://www.ntmb.de/picture/smiley/forum/7.gif]
    ;

    //-->

    </script>


    Mein erster Ansatz war es über readfile zu versuchen.

    Mir wurde folgender Code empfohlen:

    PHP
    1. var image = new Array();
    2. var link = new Array();
    3. <?php readfile('datei.txt'); ?>
    4. /** Ab hier nichts mehr ändern! **/
    5. var num = Math.random();


    leider funktioniert es nicht und ich komme nicht weiter.


    Hat jemand einen Lösungvorschlag?


    Viele Grüße,

    Alex

  • Da das Javascript-Syntax ist, kannst Du diesen Code auch in eine js-Datei auslagern und mit dem script-Tag einbinden. D. h. die komplette Definition der beiden Arrays:

    in eine Datei, z. B. data.js schreiben, ohne script-Tags, und mit diesem Code einbinden:

    Code
    1. <script src="data.js"></script>
  • Ich habe jetzt wie folgt den Code geändert:


    und die data.js Datei enthält oben beschriebenen Code. Leider funktioniert es immer noch nicht. Was habe ich falsch gemacht?

  • Du hast jetzt die Skript-Tags verschachtelt. Erst die Daten einbinden und dann den Rest:

    Code
    1. <script src="data.js" ></script>
    2. <script>
    3. /** Ab hier nichts mehr ändern! **/
    4. var num = Math.random();
    5. var ran = Math.floor((image.length - 1) * num) + 1;
    6. document.write('<div id="zahl1">' + link[ran] + '</div><div id="nichtmarkieren"><img src="' + image[ran] + '" border="0" /></div></a>');
    7. </script>

    (type, language und die Kommentarzeichen braucht man heute nicht mehr.)

  • Leider funktioniert es immer noch nicht. Ich hab hier nochmal den Code komplett aufgelistet der auch genau so funktioniert.



    Wäre es auch möglich diesen Code komplett auszulagern?

  • Ja, Du kannst den Code auch komplett auslagern aber dann muss Du die script-Tags und die Zeilen mit den Kommentarzeichen <!-- //-->

    weg lassen. Ich hoffe, Du hast sie bisher nicht drin. Nur das was ich in Posting #3 gepostet habe, in die js-Datei. Der Browser weiß schon durch das Einbinden mit dem Script-Tag, dass es sich um Javascript handelt.

  • ich poste mal hier den Link zu meiner hochgeladenen js. Datei https://5dots.de/scripts/nurdasscript_edit6.js .

    Es funktioniert einfach nicht obwohl ich den Code wie folgt eingefügt habe:


    Code
    1. <script src="/scripts/nurdasscript_edit6.js" ></script>
    2. <script>
    3. /** Ab hier nichts mehr ändern! **/
    4. var num = Math.random();
    5. var ran = Math.floor((image.length - 1) * num) + 1;
    6. document.write('<div id="zahl1">' + link[ran] + '</div><div id="nichtmarkieren"><img src="' + image[ran] + '" border="0" /></div></a>');
    7. </script>