Javascript - verschillende tekst bij herladen pagina

Status
Niet open voor verdere reacties.

motower

Gebruiker
Lid geworden
10 aug 2004
Berichten
472
Hallo, weet iemand een (eenvoudig ;o) script voor het telkens een andere tekst laten verschijnen bij het herladen/nieuw bezoek van een webpagina?

Ik wil testimonials onderaan een pagina plaatsen, maar wil er niet te veel, dus elke keer 2 of 3 verschillende.
 
Je zou deze testimonials in een array kunnen zetten en elke keer wanneer de pagina wordt geladen pakt hij drie willekeurige testimonials uit je array.
 
Waarom wil je dit met JavaScript doen ?

Meestal komt deze info van de server en JavaScript werkt client-side.
 
Dat moet dan met php toch?
De website is html, ik ken geen php vandaar dat ik dacht dat het wellicht met een scriptje op te lossen was. ;o)
 
Niet perce met php, maar een server-side taal zou het best zijn. Het is wel via javascript te doen, maar toch is het een beetje omslachtig. Je stuurt alle teksten dan altijd naar de gebruiker toe, bij een server-side taal als php alleen de tekst die je wilt laten zien.
 
O.k. Ik begrijp het, bedankt, maar dat gaat dus niet lukken vandaar vraag naar script.
 
Dag motower,

Omdat de server waar ik gratis een webruimte krijg, geen server side scripting ondersteunt, heb ik ook eens iets gelijkaardig met Javascript opgelost.

Misschien kan je onderstaande code als basis gebruiken om verder uit te werken volgens je persoonlijke behoefte.

Dat werkt in de veronderstelling dat je die "testimonials" opslaat op de server met als naam mytestimonial1.txt, mytestimonial2.txt, mytestimonial3.txt, enz...

Code:
<html>
<head>

<script>


test();

function test() {
    var n = 8;  // totaal aantal, als tekstbestand, beschikbare "testimonials".
    var i, j;
    var myArray = new Array ();
    var myFiles = new Array();

    for ( i = 1; i <= n; i += 1 ) {
        myArray.push("mytestimonial" + i + ".txt");
    }

    for ( i = 1; i <= 3; i += 1 ) {
        j = Math.floor(Math.random()*myArray.length);
        myFiles.push(myArray.splice(j,1));
    }

    for (i = 0; i < myFiles.length; i += 1) {
        processFileFromServer( myFiles[i] , "t" + i)
    }

}



function processFileFromServer( myFile , myDiv ) {

    var xhr = new XMLHttpRequest();

    xhr.open("GET", myFile, true);

    xhr.onreadystatechange = function() {

        if  (xhr.readyState === 4) {
            var status = xhr.status;

            if ((status >= 200 &&  status < 300) || status === 304) {

                document.getElementById(myDiv).innerHTML = xhr.responseText;

            } 
            else {
                alert("Failed to load file from server: " + myFile);
            }
        }
    }

    xhr.send(null);
}

</script>

</head>

<body>

    <div id="t0"></div>
    <div id="t1"></div>
    <div id="t2"></div>

</body>
</html>

Grtz,
MDN111
 
Bedankt MDN111, klinkt goed, ik ga het uitproberen en laat het je nog weten .....
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan