Forum Bugs

Strange non-shuffle in javascript

fbrzvnrnd
I have a simple html/javascript page that "shuffle" dom elements everytime I open it:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <style>
            p {font-weight:bold}
            div {margin-top:1em, page-break-inside:avoid}
            h1{font-family:sans-serif; font-size:1.5em}
                        h2{font-family:sans-serif; font-size:1.1em}

            
        </style>
        <title></title>
    </head>
    <body>
        <h1>Esercitazione di storia</h1>
        <h2>08 febbraio 2017 IVAP</h2>
        <div class="domanda">
            <p>Quale è il grado di parentela che lega Carlo d'Asburgo, Carlo III di Spagna e Carlo VI?</p>
            <ul>
                <li>Sono tutti borboni e sono tra di loro cugini</li>
                <li>Nessuno, alcuni sono austriaci e altri sono borboni</li>
                <li>Sono tutti austriaci e sono cugini fra di loro</li>
                <li>Nessuno, si tratta della stessa persona</li>
            </ul>
        </div>
        
        
        
        <div class="domanda">
            <p>Chi vuole Carlo II come suo successore?</p>
            <ul>
                <li>Carlo III</li>
                <li>Filippo V</li>
                <li>Luigi XIV</li>
                <li>Leopoldo I</li>
            </ul>
        </div>
        
        
        
        <div class="domanda">
            <p>Chi fa parte della coalizione dell'Aja?</p>
            <ul>
                <li>Austria, Province Unite, Inghilterra, Prussia, il Portogallo, il ducato di Savoia e vari principi tedeschi</li>
                <li>Russia, Francia e Inghilterra più vari principi tedeschi</li>
                <li>Austria, Francia, Portogallo, Spagna  e vari principi tedeschi</li>
                <li>Russia, Francia e Inghilterra  più vari principi tedeschi</li>
                <li>Sacro Romano impero, Prussia, Russia, Province Unite, il ducato di Savoia e vari principi tedeschi</li>
            </ul>
        </div>
        
        <div class="domanda">
            <p>Perché Luigi XIV cercava di far insediare Filippo V al trono di Spagna?</p>
            <ul>
                <li>Per una promessa fatta a Carlo II in punto di morte</li>
                <li>Perché era suo nipote e quindi Spagna e Francia sarebbero state unite per parentela dei regnanti</li>
                <li>Perché Filippo V era conosciuto come sovrano debole e incapace e a Luigi XIV faceva comodo avere un regno debole da conquistare</li>
                <li>Per compensare la perdita regno di Slesia, di cui Filippo V era sovrano, dato a Filippo II di Prussia</li>
            </ul>
        </div>
        
        <script>
        <![CDATA[    
   function shuffle(elems) {
 
    allElems = (function(){
	var ret = [], l = elems.length;
	while (l--) { ret[ret.length] = elems[l]; }
	return ret;
    })();
 
    var shuffled = (function(){
        var l = allElems.length, ret = [];
        while (l--) {
            var random = Math.floor(Math.random() * allElems.length),
                randEl = allElems[random].cloneNode(true);
            allElems.splice(random, 1);
            ret[ret.length] = randEl;
        }
        return ret; 
    })(), l = elems.length;
 
    while (l--) {
        elems[l].parentNode.insertBefore(shuffled[l], elems[l].nextSibling);
        elems[l].parentNode.removeChild(elems[l]);
    }
 
}
            domande=document.getElementsByClassName("domanda");
            tutte=domande.length;
            i=0;
            shuffle(domande);
          
                                        
                                        ]]>
        </script>
        
        
    </body>
</html>



This is working fine in browser view, but if I use Prince, I got the same "shuffle" everytime I generate a PDF.

I'm missing something?

Fabrizio
mikeday
You can seed the random number generator based on the current time:
Math.seedRandom((new Date())-0);
fbrzvnrnd
Oh, thank you!
It works fine.
Just to know: why I have to set a seed for random on Prince and not for the browser?

Have a nice day


Fabrizio