Avatar billede fusion-it Nybegynder
05. maj 2009 - 00:08 Der er 20 kommentarer og
1 løsning

Javascript laver border ved media print?

Hej igen

Jeg havde denne tråd hvor jeg selv fandt frem til hvad der skabte denne ramme ved print.Jeg kom dog til at lukke den tråd lidt for tidligt så genåbner den lige.

http://www.eksperten.dk/spm/873890#reply_7380384


Jeg bruger et javascript som er placeret i bunden af min sien til at lave runde hjørner i indholds området.

Scriptet jeg bruger er dette her

http://www.dhtmlgoodies.com/index.html?whichScript=rounded-corners


Jeg har nu prøvet at fjerne javascriptet med noprint sådan her

<div class="noprint">
<script type="text/javascript">
    rC = new DHTMLgoodies_roundedCorners();
    rC.addTarget('content',8, 8, '#DDDADA', '#ffffff', 10, 550);
    rC.addTarget('leftcolumn', 8, 8, '#DDDADA', '#DDDADA', 2, 550);
    rC.addTarget('innertube', 8, 8, '#2FC0D5', '#2FC0D5', 2, 25);
    rC.addTarget('search', 8, 8, '#2FC0D5', '#2FC0D5', 2, 25);
    rC.init();
</script></div>


I  media har jeg så

.noprint {
display: none;
}

Men dette funger heller ikke nogen foreslag? ellers må jeg jo leve med det det kan da bare irritere mig lidt der må da være andre som kender dette problem?
Avatar billede fusion-it Nybegynder
05. maj 2009 - 00:11 #1
Avatar billede kinderaeg Nybegynder
06. maj 2009 - 14:01 #2
At du sætter display: none på en div, betyder jo ikke noget for om det fortolkes eller om indeholdt kode eksekveres, blot at det ikke skal vises på skærmen.
Nu er jeg ikke helt sikker på, hvad det er du vil opnå, men en løsning kunne være at lave et link til en printervenlig version af siden?
Avatar billede fusion-it Nybegynder
06. maj 2009 - 18:46 #3
Jeg vil opnå når man surfer rund på de forskellige side kan man printe siden ud uden menu osv det vil sige kun indhold.

Dette virker fint men, der kommer en border rund om som skabes af et javascript som jeg bruger til indholdet.

kik evt denne tråd
http://www.eksperten.dk/spm/873890#reply_7380384

Synes bare det er underligt der ikke findes en måde at fjerne den border ? Kan faktisk godt leve med den men nogen gange er jeg en flue ******* :)
Avatar billede kinderaeg Nybegynder
07. maj 2009 - 08:06 #4
Nu har jeg ikke nærstuderet dit javascript, men det ser for mig ud til, at den laver nogle ekstra elementer, som den bruger til at runde dine hjørner af med. Disse elementer skal du fx. gi' en class, så de ikke bliver vist eller du kan se om du kan gennemskue koden og lave dine runde hjørner uden brug af javascriptet. Ellers er dit eneste alternativ, som jeg skriver tidligere, at lave en printvenlig side.
Avatar billede kinderaeg Nybegynder
07. maj 2009 - 08:12 #5
En helt anden løsning kunne være at lave to ens indholds-sektioner, hvor den ene er skjult for skærmen og den anden er skjult for printeren.
Avatar billede fusion-it Nybegynder
07. maj 2009 - 08:55 #6
Det javascript jeg bruger tager den div ind jeg bruger sådan her:

Jeg har min div her:

<div ID="content"></div>


I bunden sættes dette:

<script type="text/javascript">
    rC = new DHTMLgoodies_roundedCorners();
    rC.addTarget('content',8, 8, '#DDDADA', '#ffffff', 10, 550);
    rC.init();
</script>

Jeg har prøvet at ændre til class men det vil den ikke være med til jeg må indrømme jeg ikke er så stærk til javascript så skal jeg ændre i js i filen skal jeg bruge hjælp.

http://fusion-it.eu/httpdocs/js/rounded-corners.js


:)
Avatar billede kinderaeg Nybegynder
07. maj 2009 - 09:53 #7
var tmp_div = document.createElement('DIV')
tmp_div.className = 'noprint';

Ovenstående linie opretter et div i din kode, dette div kan du sætte en class på, som du sætter display: none på, i din css til print. Linien findes flere steder i js'en, og du skal selvfølgelig sætte en class på dem alle sammen. Du skal dog være opmærksom på, at du ikke skal sætte endnu en class på content-diven (som dannes i linie 176).
Avatar billede fusion-it Nybegynder
07. maj 2009 - 10:22 #8
ok nice..... men


Må så lige høre skal jeg tilføje de to linjer til js filen eller selve koden på default?
Avatar billede fusion-it Nybegynder
07. maj 2009 - 10:25 #9
#Linien findes flere steder i js'en


Jeg finder den ikke ?
Avatar billede fusion-it Nybegynder
07. maj 2009 - 10:26 #10
Tror jeg har den LOL
Avatar billede kinderaeg Nybegynder
07. maj 2009 - 10:36 #11
Ja variablen hedder jo ikke det samme, det var bare et eksempel, det er document.createElement('Div'); du skal lede efter, og så sætte et className på den oprettede div ;)
Avatar billede fusion-it Nybegynder
07. maj 2009 - 10:41 #12
Jo men det er stadig samme problem :(
Avatar billede fusion-it Nybegynder
07. maj 2009 - 10:47 #13
Det kan ikke være class.Name = 'noprints';?

alså class.Name ikke className ----
Avatar billede fusion-it Nybegynder
07. maj 2009 - 10:50 #14
Nej det kunne det ikke :)


hmmmm
Avatar billede fusion-it Nybegynder
07. maj 2009 - 10:57 #15
Jeg har lavet :

117: topBar_container.className = 'noprints';

133: el.className = 'noprints';

165 : el.className = 'noprints';

197: bottomBar_container.className = 'noprints';

217: el.className = 'noprints';

259: el.className = 'noprints';


mangler jeg noget .....
Avatar billede kinderaeg Nybegynder
07. maj 2009 - 11:03 #16
I linie 181 står der:

contentDiv.style.border='1px solid ' + color;

Der sætter den jo en border på, den linie skal du enten fjerne ellers skal du sørge for at den overrules af din css, som du så skal skrive ind.
Avatar billede fusion-it Nybegynder
07. maj 2009 - 11:09 #17
Ja har set den og prøvede at skrive
contentDiv.style.border='0px solid ' + color;

men så virker de runde hjørner ikke


Så der skal defineres noget et sted.
Avatar billede fusion-it Nybegynder
07. maj 2009 - 11:11 #18
He he

Du er for god det var den, men dajeg gjorde det havde jeg ikke det andet på nu sirker det :))))


Smider du et svar for point ?
Avatar billede fusion-it Nybegynder
07. maj 2009 - 11:12 #19
Jeg fjernede

contentDiv.style.border='1px solid ' + color;

Nu funger det ......
Avatar billede kinderaeg Nybegynder
07. maj 2009 - 11:13 #20
Super :)
Avatar billede fusion-it Nybegynder
07. maj 2009 - 11:16 #21
1000 tak nu hvor jeg har dig :)


Jeg har denne tråd

http://www.eksperten.dk/spm/874176#reply_7381909

Har du et forslag til den ?
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