Avatar billede para7 Nybegynder
16. oktober 2003 - 22:39 Der er 31 kommentarer og
1 løsning

Overflow på layer - Printervenlig side

Er der nogen der kan fixe et lille script, der kan fjerne overflow i et layer, så det scrollede gemte indhold vises og hele siden kan printes?

Jeg har, lidt simplificeret et sted på min side:

<div id="FrameLayer" style="position:relative; overflow:auto">
Here is a scrollable content part of the page.
</div>
Avatar billede dr_nielsen Nybegynder
17. oktober 2003 - 13:13 #1
Husk størerelsen på din div :)

<div id="FrameLayer" style="position:relative; overflow:auto;height:100px; width:100px;">
Here is a scrollable content part of the page.
</div>
Avatar billede roenving Novice
17. oktober 2003 - 15:12 #2
<script type="text/javascript">
//Kun til IE foreløbigt, vi ordner den til Gecko-maskinen også, hvis du kan bruge det
function resizeLayer(){
l = document.getElementById('FrameLayer');
l.style.height = l.scrollHeight;
}
</script>
Avatar billede para7 Nybegynder
17. oktober 2003 - 17:10 #3
Det er rigtigt dr nielsen, men jeg har pillet alt væk i eksemplet.
Avatar billede para7 Nybegynder
17. oktober 2003 - 17:13 #4
Det ser godt ud roevning
Jeg er ikke en ørn til js, men jeg gætter på, at vi nu kan kalde funktionen med en onClick sammen med en printkommando ?
Avatar billede roenving Novice
17. oktober 2003 - 17:17 #5
Ja, jeg testede den netop med en button onclick, så det kan du præcis gøre !-)
Avatar billede para7 Nybegynder
17. oktober 2003 - 17:38 #6
Jammen det virker jo!
Jeg har  <a href="java script:;" onClick="resizeLayer()">Print</a>
Kan jeg lukke igen med et lignende link uden at reloade siden ?
Avatar billede para7 Nybegynder
17. oktober 2003 - 17:41 #7
Hvis det er for meget at gøre ud af det er det OK at reloade siden, men er det så fx: <a href="java script:;" onClick="reload()">Luk</a>
Avatar billede para7 Nybegynder
17. oktober 2003 - 17:48 #8
Du må hellere få pointene roevning. Hvis du lige lægger et svar.
Avatar billede para7 Nybegynder
17. oktober 2003 - 17:49 #9
Men gerne lige Gecko koder også.
Avatar billede roenving Novice
17. oktober 2003 - 17:51 #10
<a href="java script:void();" onClick="resizeLayer();window.print();">Print</a><br>
<a href="java script:void();" onClick="location.reload(true);">Vis normalt</a>


-- men du kan bare udvide funktionen lidt:

<script type="text/javascript">
k = 0;
function resizeLayer(){
l = document.getElementById('FrameLayer');
if(k==0){
k=l.style.height;
l.style.height = l.scrollHeight+'px';
}else{
l.style.height=k;
k=0;
}
}
</script>

-- og så:

<a href="java script:void();" onClick="resizeLayer();window.print();">Print</a><br>
<a href="java script:void();" onClick="resizeLayer();">Vis normalt</a>


-- og jeg fandt ud af, at den virkede ganske udmærket i min Mozilla 1.5 -- så spørgsmålet er bare fra hvornår !-)
Avatar billede roenving Novice
17. oktober 2003 - 17:52 #11
-- velbekomme '-)
Avatar billede para7 Nybegynder
17. oktober 2003 - 18:22 #12
Jeg har prøvet din sidste kodeblok. Der kommer altså scriptfejl.
Avatar billede para7 Nybegynder
17. oktober 2003 - 18:23 #13
Altså derfra hvor du skriver: -- men du kan bare udvide funktionen lidt:
Avatar billede roenving Novice
17. oktober 2003 - 18:25 #14
Da jeg testede fik jeg også en masse kodefejl ...

-- min div har id="minDiv" ...

Har din div stadig id="FrameLayer" ?-)
Avatar billede roenving Novice
17. oktober 2003 - 18:26 #15
-- og tak for points ;~}
Avatar billede para7 Nybegynder
17. oktober 2003 - 18:33 #16
Nej "minDiv" findes ikke på min side:
http://site196.webhost4life.com/joergenaj/
Avatar billede para7 Nybegynder
17. oktober 2003 - 18:34 #17
Eller rettere, du kan måske lige se kilden på min side.
Avatar billede para7 Nybegynder
17. oktober 2003 - 18:35 #18
Under menupunktet Kontakt os..
Avatar billede roenving Novice
17. oktober 2003 - 18:48 #19
-- det kan jeg ikke gennemskue ?-)

-- bla. fordi din kode ikke er specielt velstruktureret kan jeg ikke finde ud af hvad det er for en kode, som giver fejl !-)
Avatar billede para7 Nybegynder
17. oktober 2003 - 18:52 #20
Nej det ser farligt ud som kildekode. Det kan også måske være et js script fra en .js fil, der konflikter.
Kan den første kodeblok, du lavede fungere på en nyere Mozilla, er det udemærket. ?
Avatar billede roenving Novice
17. oktober 2003 - 18:56 #21
Den virker i min Mozilla ...
Avatar billede para7 Nybegynder
17. oktober 2003 - 19:02 #22
Fint. Men her har jeg en testside kun med det aktuelle:
http://site196.webhost4life.com/joergenaj/framelayer.htm
Der er nok ikke ret meget galt.
Avatar billede para7 Nybegynder
17. oktober 2003 - 19:04 #23
Det virker, men med scriptfejl. Det ville være kanont lige at det kom iorden, hvis du har tid.
Avatar billede para7 Nybegynder
17. oktober 2003 - 19:17 #24
Jeg siget ihvertfald mange tak hefra :)
Avatar billede para7 Nybegynder
17. oktober 2003 - 20:18 #25
Jammen det var såmænd bare et lille nul, der manglede:
javascript.void()  =>  javascript.void(0)
Avatar billede roenving Novice
18. oktober 2003 - 11:05 #26
-- og det havde du helt ret i, og du kunne skrive hvadsomhelst i stedet for nullet, jeg prøvede også lige med 'karl' !-)
Avatar billede para7 Nybegynder
18. oktober 2003 - 11:27 #27
Man kan vel også skrive java script:; istedet for javascript.void(Hej hej mit navn er Kaj)
Men jeg synes at have testet med NS at der så åbnes en blank side.
Avatar billede roenving Novice
18. oktober 2003 - 11:35 #28
Ja, hvis du bruger java script: pseudo-protokollen _skal_ du angive noget, og da du præcis ønsker at der intet skal ske, er det ganske smart at bruge den javascript-funktion, som præcis intet gør i sig selv !-)

Du kan dog ikke bruge en masse ord uden ' eller "" omkring, da de så vil blive opfattet som variabler, som så vil give script-fejl - de er jo ikke erklæret ...
Avatar billede para7 Nybegynder
18. oktober 2003 - 13:05 #29
Tak for lektionen. Hvad var en side uden Javascript. Den eneste virkelige ulempe er måske, at at nole besøgende har slået det fra og så er det altid nødvendigt at have en god grundlæggende validering fx på submit af forms.
Avatar billede roenving Novice
18. oktober 2003 - 13:11 #30
-- ja, den sidste statistik jeg så, angav at 13% af de besøgende som var talt af den pågældende maskine (http://www.thecounter.com/stats/2003/May/index.php ) ikke havde javascript slået til ...

-- men det kan kun være overforsigtige firma-administratorer og offentlige kontorer, skoler og biblioteker, som har den slags, så selv har jeg droppet enhver bekymring om dette !-)
Avatar billede para7 Nybegynder
18. oktober 2003 - 17:36 #31
Ja det er jo OK, hvis det ikke er et security spørgsmål. Jeg lavede et asp bestillingsmodul, der skulle virke for læger også, med cpr. nr. Det var et must at lave grundlæggende serverside validering.
Avatar billede roenving Novice
19. oktober 2003 - 06:10 #32
;O)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester