[RISOLTO]Numeri random al termine di un link http

chodrepo

Nuovo Utente
26 Nov 2012
19
0
0
OK, funziona! Un'unica cosa: in questo modo cambia tutti gli URL; nella pagina solo quelli con la parola file al termine devono avere questa possibilità, altrimenti gli altri non funzionando. E' possibile limitare lo script a solo quelli?
Infine, ma qui non è importante, è possibile obbligare il refresh se si torna indietro alla pagina con questo script? Cioè, se io clicco un elemento, e torno indietro, e riclicco sopra lo stesso elemento, questo ha lo stesso URL random di prima, mentre invece se faccio refresh, ovviamente cambia; è possibile imporre questa cosa?

Comunque grazie anticipatamente!
 

chodrepo

Nuovo Utente
26 Nov 2012
19
0
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
OK, funziona! Un'unica cosa: in questo modo cambia tutti gli URL; nella pagina solo quelli con la parola file al termine devono avere questa possibilità, altrimenti gli altri non funzionando. E' possibile limitare lo script a solo quelli?
Infine, ma qui non è importante, è possibile obbligare il refresh se si torna indietro alla pagina con questo script? Cioè, se io clicco un elemento, e torno indietro, e riclicco sopra lo stesso elemento, questo ha lo stesso URL random di prima, mentre invece se faccio refresh, ovviamente cambia; è possibile imporre questa cosa?




Comunque grazie anticipatamente!
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Cambia cosi per correggere solo gli url che finiscono con file

Codice:
        for(i=0;i<document.getElementsByTagName('a').length;i++) 
            if(document.getElementsByTagName('a')[i].href.substr(-4,4)=='file')
            document.getElementsByTagName('a')[i].href = document.getElementsByTagName('a')[i].href+Math.floor((Math.random()*8999)+1000);
L'altra cosa è rischiosa e bypassabile sul client, non conviene, al massimo potresti obbligare l'utente a non tornare indietro con
Codice:
history.forward();
 

chodrepo

Nuovo Utente
26 Nov 2012
19
0
0
Perfetto funziona alla grande! Davvero ultima cosa: se in futuro dovessi cambiare la parola file con un'altra, oppure dovessi aumentare i numeri random (5 cifre), quali sarebbero i parametri da modificare per adattarli?
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Perfetto funziona alla grande! Davvero ultima cosa: se in futuro dovessi cambiare la parola file con un'altra, oppure dovessi aumentare i numeri random (5 cifre), quali sarebbero i parametri da modificare per adattarli?
Devi cambiare i parametri in questi punti

nella prima è per lo più una piccola formula matematica
Codice:
(Math.random()*(massimo-minimo))+minimo
qui invece ti basta saper gestire la lunghezza della stringa
Codice:
...substr(inizio,lunghezza_dopo_inizio)=='parola'
 

chodrepo

Nuovo Utente
26 Nov 2012
19
0
0
Perfetto! grazie Nefyt e Longo8 per il supporto e l'aiuto che mi avete dato; siete dei grandi; ho sempre seguito questo forum per trovare le varie riposte e guide e ancora una volta si è dimostrato il migliore.

Grazie ancora!