webForumDet fria alternativet

problem med utskriftssida

JavaScript

11 svar · 731 visningar · startad av Sanji

Medlem sedan juli 2009355 inlägg
Frågan#1

Hej! Jag har en sida som automatiskt öppnar rutan för utskrift, men det har uppstått ett problem. När man har skrivit ut sidan och utskriftsrutan stängts ner, så kommer det upp en till utskriftsruta på en gång. oavsett hur jag stänger ner utskriftsrutan så kommer det alltid upp en ny direkt, och för att det ska sluta så måste jag stänga ner hela utskriftssidan.

här har vi scriptet som öppnar utskriftsrutan.

<script type="text/javascript">
        //<![CDATA[
            var shown = false;
            function DoPrint() {
                if (!shown) {
                    function PrintWindow() {
                        window.print();
                        CheckWindowState();
                    }
                    shown = true;
                }

                function CheckWindowState() {
                    if (document.readyState == "complete") {
                        
                    }
                    else {
                        setTimeout("CheckWindowState()", 15000)
                    }
                }
                PrintWindow();
            }
        //]]>
        </script>

vad kan jag göra för att förhindra det återkommande öppnandet av utskriftsrutan som sker? tidsintervallen mellan att man stängt ner rutan och att den kommer igen ligger på ca 1-3 sekunder.

//Mvh Sanji

Medlem sedan juli 2009355 inlägg
#2

Ingen som har någon idé?

Medlem sedan juni 20019 519 inlägg
#3

rensar timeout, sätt en referens och kör en clearTimeout, men förstå inte alls din kod, en funktion inne i en if fråga, kan inte vara korrekt väl?

Medlem sedan juli 2009355 inlägg
#4

hehe jag rättar till det där med funktionen ^^ återkommer snart så får vi se om jag lyckas lösa detta!

Medlem sedan juli 2009355 inlägg
#5

hmm... jag vet inte riktigt om jag förstår vad du menar... sätt en referens?

jag kan nästan inget om just javascript tyvärr. Det är inte heller jag som skrivit den från början, utan en kompis till mig som nu gör lumpen så jag kan inte få hjälp av honom

Medlem sedan juni 20019 519 inlägg
#6

Jag fattar inte alls vad du vill göra med din funktion... hela CheckWindowState() verkar vara överflödig

tidsintervallen mellan att man stängt ner rutan och att den kommer igen ligger på ca 1-3 sekunder.

Ser mer ut som att den ligger på 15 sekunder.

Medlem sedan juni 20019 519 inlägg
#7

Lägg bara

<script type="text/javascript">
window.print();
</script>

strax innan </body>, för du vill att den skall skrivas ut först dokumentet har renderats klart(?)

Medlem sedan juli 2009355 inlägg
#8

funktionen kördes med onmouseover istället för onload i bodytaggen... det var nog det som var problemet, så nu kommer den inte upp gång på gång.

Medlem sedan juni 20019 519 inlägg
#9

Vad gör du och vad vill du göra?

Du har en sida du vill kunna skriva ut med javascript:

function CheckWindowState() {
			if (document.readyState == "complete") {
			} else {
				setTimeout("CheckWindowState()", 15000)
			}
		}

tror jag inte ens kommer fungera då CheckWindowState() finns inne i DoPrint() och även om den skulle fungera så kommer den inte göra något, så jag förstå inte alls varför du vill anropar den.

Medlem sedan juli 2009355 inlägg
#10

som sagt, jag skrev inte scriptet från början så jag vet inte... det fungerar i alla fall som jag vill nu :)

Medlem sedan juni 20019 519 inlägg
#11

Om du skall skriva ut fönstret så fort innehållet är klart så kör som jag skrev: http://www.webforum.nu/showpost.php?p=1513953&postcount=7 all annan kod är överflödig.

Medlem sedan juli 2009355 inlägg
#12

jag gjorde så som du skrev ^^

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)