Visualizzazione dei risultati da 1 a 2 su 2

Discussione: cookie e frasi casuali

  1. #1

    cookie e frasi casuali

    Ciao a tutti,

    sto creando uno script javascript da mettere nell'homepage di questo sito: www.appuntifilosofici.it

    Ad ogni reload lo script dovrebbe mostrare una citazione differente e per essere sicuro che non mostrasse mai due volte la stessa volevo utilizzare i cookie.

    Dove sbaglio? Questo è il codice (vi risparmio la parte con le citazioni):
    codice:
    // Dichiarazione dell'array Frase
    
    var Frase = new Array();
    Frase[0] = new Array();
    Frase[1] = new Array();
    
    // Dichiarazione delle altre variabili
    
    var ran, inizio_link, fine_link, link, autore, libro;
    
    // Selezione casuale di una frase e impostazione delle varabili
    do {
    	ran = Math.round(Math.random()*(Frase[0].length-1));
    	} while (ran == Number(document.cookie.charAt(6)))
    
    document.cookie = "frase="+escape(ran)
    
    fine_link = Frase[1][ran].indexOf(",");
    inizio_link = Frase[1][ran].lastIndexOf(" ",fine_link)+1;
    link = Frase[1][ran].substring(inizio_link,fine_link).toLowerCase();
    autore = Frase[1][ran].substring(0,fine_link);
    libro = Frase[1][ran].substring(fine_link);
    
    // Stampa a video della frase
    document.write('<p style="font-style: italic;">'+Frase[0][ran]+'</p>');
    document.write('<div style="text-align: right;">'+autore+''+libro+'</div>');
    Il problema è che facendo delle prove ad aggiornare la pagina in locale, capita che esce la stessa frase.

    Grazie
    Ciao

  2. #2
    Ecco, mi sono accorto adesso che il mio cookie non è assolutamente quello che pensavo io.

    Cioè, attraverso un document.write(document.cookie); mi è uscito un risultato di questo genere:

    2; 3; 1; 5; 4; 6; undefined; null; 0; 7; ciao; frase=5

    A questo punto ho fatto caso al fatto che effettivamente non esce mai la frase numero 1 (d'altronde 1 è il valore al sesto posto del cookie).

    Ma come faccio a far sì che il cookie sia sempre solo ed esclusivamente nella forma che serve a me (ossia "frase=x")?
    Perchè in questo momento ho l'impressione che ogni volta che assegno un valore a document.cookie questo venga semplicemente aggiunto al cookie già esistente anche se lo assegno con l'operatore = e non con +=.

    Grazie
    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.