hmm.. hvad er de lige man skal klikke på..? jeg har klikket på menu > brunch > print.. så dukker der et vindue op med indholdet, og så sker der ikke mere..?
Ahh! never mind! Har forstået det.. Det er en indbygget funktion i printscriptet henvendt til MAC (oprindeligt) og åbenbart også Opera, da IE på MAC ikke fatter selv at aktiverer udskriftfunktionen. Derfor kommer vinduet frem, hvorfra man så kan klikke menubarens eget printikon.
Men som du kan se, er det IKKE hele teksten (i forhold til al den tekst der kan scrolles i) der vises i vinduet. Netop fordi teksten er 'hidden' af DIV!
Hmm.. næhh! Nu er det vist mig der fucker lidt op her. Det var en anden version af Printscriptet der lå uploaded. Nu popper den nemlig INTET vindue op ved Print i Opera. Men hvis script ser således ud, så gør den:
<script> function udskriv() {
l = (screen.width - 400) / 2; t = (screen.height - 440) / 2; window.open(parent.frames["tekst"].location.href, "printVindue", "width=400,height=440,left=" + l + ",top=" + t + ",toolbar=yes"); } </script>
Så skal den bare kunne vise al teskten... og vise en scrollbar også, så man kan scrolle i al denne tekst fra det vindue der popper op.
Hmm.. prøv at se popup vinduet nu! i Opera. Vinduets egen scrollbar er aktiveret nu, men man ser den ikke fordi man i stedet ser hele siden, inkl. Div scrollfunktion fra selve siden. Gak! Kan man ikke lave et eller andet smart med at den KUN viser et marked område fra siden.. ala
jeg har ingen anelse hvad du snakker om.. popup vinduet har ikke forandret sig siden jeg først klikkede på print ikonet.. :) måske er det pga Opera.. jeg har altid kunne resize vinduet, og scrollbaren har altid været der.
Prøv at refreshe siden. Og klik så på Printikonet. Du vil kunne se den viser hele siden med DIV scrollscript og det hele. Men kun det område DIV er sat til at vise som synligt.
det virker åbenbart kun i IE.. med Opera kan jeg resize og alt muligt det du skal have gjort er at tage indholdet ud af div'en og fjerne den.. dine scrollbare skal ikke være der.. det nytter jo ikke at have scrollbars på et stykke papir :)
Ja.. i know! men prøver du at printe Brunch teksten der er længere end hvad du kan se i vinduet, da kommer resten af teksten IKKE med ud på printet, da det er skjult af DIV layer.
Ok!.. cool! Ellers må alternativet jo være at lægger al tekst i en database og så trække det ud derfra. Sådan gør jeg i forvejen med printfunktion på mit eget site (www.theselfimages.dk)
Ro på! Det er den sidste udvej.. og et stort arbejde. Hvis det kan lade sig gøre at "rede" denne printfunktion og tekst ud af DIV djævelens klør, så vil det da klart være at foretrække.
nej, du skal ikke lave dem om til asp.. rettelse: side.htm?print f.eks.: brunch.htm?print
som det er nu: når du klikker på print-ikonet, udføres funktionen "udskriv()" som er: window.open(parent.frames["tekst"].location.href, "printVindue", .....);
mit eksempel: når du klikker på print-ikonet, udføres funktionen "udskriv()" bliver er: window.open(parent.frames["tekst"].location.href + '?print', "printVindue", .....);
selve siden (popup'en) checker om "?print" indgår i dens egen url.. hvis den gør, udskriver den indholdet af div'et til sig selv og aktivere print-funktionen i browseren.
er det til at forstå? (jeg ved ikke om det kan forklares bedre..)
<script> function udskriv() { l = (screen.width - 500) / 2; t = (screen.height - 440) / 2; window.open(parent.frames["tekst"].location.href + '?print', "printVindue", "width=500,height=440,left=" + l + ",top=" + t + ",toolbar=yes, scrollbar=yes"); } var a; // definer variable "a" a = location.href; // en variabel "a" en værdi (urlen)
if (a.indexOf("print")!=-1) { // hvis "print" indgår // "print" indgår i urlen.. udfør dette:
// udskriv indholdet af div'et med id'en "contenMask": document.write(document.getElementById('contentMask').innerHTML);
Hmm.. tja! det ser bare ikke særlig godt ud at den i popup vinduet viser teksten med rød scrollbar og den sorte linje helt ude tilhøjre. Hvis den blot kan vise teksten i det popud vindue, så ville det være cool. Men måske det netop er hvad dit script skulle gøre? Jeg kan ikke få det til at virke...
hvad mener du her: nej, du skal ikke lave dem om til asp.. rettelse: side.htm?print f.eks.: brunch.htm?print
Og er dette rigtigt?
<script> function udskriv() {
var a; // definer variable "a" a = location.href; // en variabel "a" en værdi (urlen)
if (a.indexOf("print")!=-1) { // hvis "print" indgår // "print" indgår i urlen.. udfør dette:
// udskriv indholdet af div'et med id'en "contenMask": document.write(document.getElementById('contentMask').innerHTML);
// aktiver print funktionen: window.print();
l = (screen.width - 500) / 2; t = (screen.height - 440) / 2; window.open(parent.frames["tekst"].location.href + '?print', "printVindue", "width=500,height=440,left=" + l + ",top=" + t + ",toolbar=yes, scrollbar=yes"); } } </script>
Sådan? Ellers vis det venligst-- jeg famler i blinde
<script> function udskriv() { l = (screen.width - 500) / 2; t = (screen.height - 440) / 2; window.open(parent.frames["tekst"].location.href + '?print', "printVindue", "width=500,height=440,left=" + l + ",top=" + t + ",toolbar=yes, scrollbar=yes"); } var a; // definer variable "a" a = location.href; // en variabel "a" en værdi (urlen)
if (a.indexOf("print")!=-1) { // hvis "print" indgår // "print" indgår i urlen.. udfør dette:
// udskriv indholdet af div'et med id'en "contenMask": document.write(document.getElementById('contentMask').innerHTML);
ja.. det skal nemlig ikke være i en funktion.. den skal bare checke når siden loades.. .. hvordan kan det være at din print knap ikke virker mere? .. og på hvilken side sætter du det ind på?
jeg går ud fra at du inkludere eksterne script filer (.js).. hvis du bare kopiere alt javascript kode ind på alle siderne, tager det for meget plads, plus at hvis du skal rette noget, skal du gøre ved hver eneste html fil. så derfor, brug eksterne js filer.. og indsæt mit script nederest i js filen.. hvis du ikke ved det, så indeholder js filer kun selve koden, og ikke <scrip..> delen.. de inkluderes med <script language="JavaScript" src="kodefil.js"></script>.. jeg ved dog ikke om det kommer til at påvirke dine scrollbars.. prøv dig frem..
anyways.. nu har du har mit script inkluderet i den fil der vises, eksempelvis brunch.htm (eksempelvis, dvs kunne godt været enhver anden fil, "frokost.htm", "yomomma.htm" whatever).. når du klikker på print knappen, åbnes et vindue med adressen der tilhører indholdet til højre i browseren.. f.eks. brunch.htm eller frokost.htm.. print knappen tilføjer "?print" til adressen..
dvs at alle filer for mit script inkluderet.. men det er kun sider hvor der er klikket på print knappen, der har "?print".. script (der er inkluderet) checker om addressen indholder "?print".. hvis "?print" er der, udskrives indholdet af "contentMask" til browser vinduet (popup'en), og prinit-funktionen window.print() udføres..
man kan på den måde sige at adressen før "?print" er dynamisk, da den afhænger af siden der er loadet i den.. den er ikke statisk (dvs den samme hele tiden).
På alle sider med tekst der skal printes indsættes denne: <script language="JavaScript" src="kodefil.js"></script>?
Den henter så dette script fra .JS filen (uden <script>... og ...</script>)
function udskriv() { l = (screen.width - 500) / 2; t = (screen.height - 440) / 2; window.open(parent.frames["tekst"].location.href + '?print', "printVindue", "width=500,height=440,left=" + l + ",top=" + t + ",toolbar=yes, scrollbar=yes"); } var a; // definer variable "a" a = location.href; // en variabel "a" en værdi (urlen)
if (a.indexOf("print")!=-1) { // hvis "print" indgår // "print" indgår i urlen.. udfør dette:
// udskriv indholdet af div'et med id'en "contenMask": document.write(document.getElementById('contentMask').innerHTML);
// aktiver print funktionen: window.print(); }
OG HVAD SÅ MED DEN LILLE SIDE HVOR PRINTIKONET SIDDER?
du bliver nød til at lære noget programmering.. at være designer alene kan ikke gøre det.. man skal også være programmør.. designers job er det synlige, og programmørens job, det usynlige..
hvis man kun kan designe, bliver det en pæn side, med manglende funktioner. hvis man kun kan programmere, bliver det en funktionel side, med manglende grafik/layout.. man skal derfor kunne lidt af hvert.. det ville være godt hvis du kunne lære noget javascript.. det ville hjælpe en del.
thesurfer og undertegnede er kommet frem til en anden løsning. Spørgsmålet lukkes.
Synes godt om
Ny brugerNybegynder
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.