[RISOLTO]Numeri random al termine di un link http

Discussione in 'Javascript' iniziata da chodrepo, 29 Gennaio 2013.

Tag (etichette):
  1. chodrepo

    chodrepo Nuovo Utente

    Registrato:
    26 Novembre 2012
    Messaggi:
    19
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Qualcuno mi puo aiutare?

    Non riesco ad applicare math.random affinché mi generi numeri random al termine di un link http

    esempio: http://nomesito/video/2013/n.ro random

    Grazie anticipatamente
     
  2. Longo8

    Longo8 Utente Attivo

    Registrato:
    28 Marzo 2011
    Messaggi:
    1.694
    Mi Piace Ricevuti:
    0
    Punteggio:
    36
    Che numero ti serve? Di quante cifre? Compreso tra quali numeri?
     
  3. chodrepo

    chodrepo Nuovo Utente

    Registrato:
    26 Novembre 2012
    Messaggi:
    19
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    ah si scusa; allora, i numeri sarebbero compresi tra 1000 e 9999
    quindi per capirci

    [B]http://nomesito.com/file/2013/file[/B]random tra 1000 e 9999 compresi

    la parte in grassetto è fissa, dunque il file potrebbe essere file1234; in pratica, la parola file è fissa, mentre le 4 cifre dopo devono essere random
     
    Ultima modifica: 30 Gennaio 2013
  4. Nefyt

    Nefyt Utente Attivo

    Registrato:
    17 Aprile 2012
    Messaggi:
    1.102
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Fai cosi

    Codice:
    var url = 'http://nomesito.com/file/2013/file'+Math.floor((Math.random()*8999)+1000);
    //prova con location.href = url;
    
     
  5. chodrepo

    chodrepo Nuovo Utente

    Registrato:
    26 Novembre 2012
    Messaggi:
    19
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    ma devo inserirci qualche codice java o solo quello? non so nel campo head?
     
  6. chodrepo

    chodrepo Nuovo Utente

    Registrato:
    26 Novembre 2012
    Messaggi:
    19
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    ho provato ad inserire qullo che hai detto ma come pensavo sere qualcos'altro nella pagina html perche funzioni; per ora vede la sequenza come parte del link, e non mi da invece il numero random

    tieni conto che il link sarà dentro i segni
    <a href="http://nomesito.com/file/video/file'+Math.floor((Math.random()*8999)+1000)">
     
    Ultima modifica: 31 Gennaio 2013
  7. Longo8

    Longo8 Utente Attivo

    Registrato:
    28 Marzo 2011
    Messaggi:
    1.694
    Mi Piace Ricevuti:
    0
    Punteggio:
    36
    Si perchè Math.random è un metodo di javascript e tu stai scrivendo codice html il quel modo.
     
  8. chodrepo

    chodrepo Nuovo Utente

    Registrato:
    26 Novembre 2012
    Messaggi:
    19
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    e non ho capito bene come potrei mettere in pratica la cosa allora.
     
  9. Longo8

    Longo8 Utente Attivo

    Registrato:
    28 Marzo 2011
    Messaggi:
    1.694
    Mi Piace Ricevuti:
    0
    Punteggio:
    36
    Fai una funzione nell'head che viene richiamata quando accade un evento (che decidi tu).
    HTML:
    ...
    <head>
    <script>
    function ciao(){
      var url = 'http://nomesito.com/file/2013/file'+Math.floor((Math.random()*8999)+1000);
      location.href = url;
    }
    </script>
    </head>
    ...
    
     
  10. Longo8

    Longo8 Utente Attivo

    Registrato:
    28 Marzo 2011
    Messaggi:
    1.694
    Mi Piace Ricevuti:
    0
    Punteggio:
    36
    A quanto pare non posso modificare il mio messaggio..mmm
    Comunque ho testato questo e funziona:
    HTML:
    <!DOCTYPE html>
    <html>
    <body>
    <button onclick="myFunction()">Try it</button>
    
    <script>
    function myFunction()
    {  
    var url = 'http://nomesito.com/file/2013/file'+Math.floor((Math.random()*8999)+1000);
      location.href = url;
    }
    </script>
    
    </body>
    </html>
    
    
    
     
  11. chodrepo

    chodrepo Nuovo Utente

    Registrato:
    26 Novembre 2012
    Messaggi:
    19
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    io ho scritto il codice della ia pagina ma non me lo fa inviare; come posso fare; dice che deve essere approvato
     
  12. chodrepo

    chodrepo Nuovo Utente

    Registrato:
    26 Novembre 2012
    Messaggi:
    19
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <script src="javascript/functions.js" type="text/javascript"></script>
    <script>
    function file(){
    var url = ''+Math.floor((Math.random()*8999)+1000);
    location.href = url;
    }
    </script>

    <div id="content">

    <ul class="pageitem">
    <li class="store"><a href="http:nomesito.com/video/file">
    </ul>
    </div>
    <div id="footer">
    </div>

    </body>

    </html>

    sarebbe corretto?
     
  13. chodrepo

    chodrepo Nuovo Utente

    Registrato:
    26 Novembre 2012
    Messaggi:
    19
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    HTML:
    <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <script src="javascript/functions.js" type="text/javascript"></script>
    <script>
    function file(){
      var url = ''+Math.floor((Math.random()*8999)+1000);
      location.href = url;
    }
    </script>
    
    <div id="content">
    
    <ul class="pageitem">
    <li class="store"><a href="http:nomesito.com/2013/video/file">
    </ul>
    </div>
    <div id="footer">
    </div>
    
    </body>
    questa sarebbe la base della pagina
     
  14. Longo8

    Longo8 Utente Attivo

    Registrato:
    28 Marzo 2011
    Messaggi:
    1.694
    Mi Piace Ricevuti:
    0
    Punteggio:
    36
    Hai fatto un pò di casino in quella pagina anche perchè non vedo dove apri il tag <body> quindi deduco che lo hai aperto prima di <head> e non è corretto.
    Guarda l'esempio che ti ho postato e cerca di adattarlo al tuo caso.
    Non ho messo nulla nell'head perchè facendo le prove ho visto che non c'era bisogno.
     
  15. Nefyt

    Nefyt Utente Attivo

    Registrato:
    17 Aprile 2012
    Messaggi:
    1.102
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    chodrepo come ti ha fatto vedere Longo la funzione per il redirect la devi basare se un evento perché funzioni correttamente, eventualmente puoi settare solo un tag <a> con l'evento onclick senza l'url
     
  16. chodrepo

    chodrepo Nuovo Utente

    Registrato:
    26 Novembre 2012
    Messaggi:
    19
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Ho provato ad implementare lo script postato, ma non riesco a farlo andare; vi posto il sorgente fac-simile per comprendere al meglio il caso.

    HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <link href="css/style.css" rel="stylesheet" media="screen" type="text/css" />
    <script src="javascript/functions.js" type="text/javascript"></script>
    </head>
    
    <body>
    
    <div id="content">
            
    	<ul class="pageitem">
                    <li class="store"><a href="http://nomesito.com/video/anno1/fileRANDOM"><span class="image" style="background-image: url('pics/Pic1.jpg')"></span>
    		<span class="name">Pagina</span><span class="arrow"></span></a></li>
                    <li class="store"><a href="http://nomesito.com/video/anno2/fileRANDOM"><span class="image" style="background-image: url('pics/Pic2.jpg')"></span>
    		<span class="name">Pagina</span><span class="arrow"></span></a></li>
            </ul>
    </div>
    <div id="footer">
    </div>
    
    </body>
    
    </html>
    In pratica quando si clicca su quel determinato oggetto (collegato al <li ecc.) si deve venire reindirizzati a quel dato URL, la cui terminazione è composta appunto da 4 numeri (che nel codice sopra sono rappresentati dalla parola RANDOM), i quali dovranno essere random. Il fatto è che per esempio, io ho riportato solo due oggetti, quando in realtà sono di più. Visto che per manutenerlo, vorrei che il codice fosse il più semplice possibile, volevo in pratica poter utilizzare math.random senza modificare piu di tanto il codice all'interno di <li ecc., utilizzando una funziona posta al termine dell'URL che richiamasse il math.random, e non che ad ogni oggetto si debba aggiungere tutto il codice.

    So che è possibile, ma non riesco a capire come adattare i vostri suggerimenti.
     
  17. Nefyt

    Nefyt Utente Attivo

    Registrato:
    17 Aprile 2012
    Messaggi:
    1.102
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Se è una cosa statica perché non lo fai in php a questo punto?

    PHP:
    <a href="http://nomesito.com/video/anno1/file<?=rand(1000,9999)?>">
     
  18. chodrepo

    chodrepo Nuovo Utente

    Registrato:
    26 Novembre 2012
    Messaggi:
    19
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    In HTML non è possibile? In PHP ci potrebbero essere delle incompatibilità e si dovrebbero riscrivere alcune pagine di codice.
     
  19. Nefyt

    Nefyt Utente Attivo

    Registrato:
    17 Aprile 2012
    Messaggi:
    1.102
    Mi Piace Ricevuti:
    0
    Punteggio:
    0
    Essendo lato server non ci dovrebbero essere nessuna incompatibilità, in realtà in js è possibile che non funzioni se l'utente lo ha disattivato


    Comunque ho fatto delle prove, e cosi dovresti avere quello che intendevi

    Codice:
    <div id="content">
            
    	<ul class="pageitem">
                    <li class="store"><a href="http://nomesito.com/video/anno1/file"><span class="image" style="background-image: url('pics/Pic1.jpg')"></span>
    		<span class="name">Pagina</span><span class="arrow"></span></a></li>
                    <li class="store"><a href="http://nomesito.com/video/anno2/file"><span class="image" style="background-image: url('pics/Pic2.jpg')"></span>
    		<span class="name">Pagina</span><span class="arrow"></span></a></li>
            </ul>
    </div>
        
            <script>   
            for(i=0;i<document.getElementsByTagName('a').length;i++) document.getElementsByTagName('a')[i].href = document.getElementsByTagName('a')[i].href+Math.floor((Math.random()*8999)+1000);
        </script>
    
    In pratica cambia l'url a tutti aggiungendo il numero random
     
  20. Longo8

    Longo8 Utente Attivo

    Registrato:
    28 Marzo 2011
    Messaggi:
    1.694
    Mi Piace Ricevuti:
    0
    Punteggio:
    36
    Dove l'hai letto? :book:
     
Sto caricando...

Condividi questa Pagina