Avatar billede george Nybegynder
25. januar 2000 - 12:18 Der er 15 kommentarer og
1 løsning

Visning af ny side samt udskrift på printer

Kan man printe en html side(som den ses i eks. ie) med JavaScript ?

OBS. Det er ikke indholdet af html filen jeg er interesset i !
Avatar billede george Nybegynder
25. januar 2000 - 12:19 #1
Glem overskriften i dette spørgsmål.
Jeg omformulerede spørgsmålet, men glemte at ændre overskriften.
Avatar billede george Nybegynder
25. januar 2000 - 12:21 #2
OBS.OBS. Jeg ønsker ikke at åbne filen i browseren, men printe den direkte på en printer via JavaScript.
Avatar billede ortrak Nybegynder
25. januar 2000 - 12:55 #3
Hej
Jeg ville bare sige undskyld mht. http://www.eksperten.dk/spm.asp?id=10368

Mit svar var egentlig ment som en joke. Det er hverken muligt at udskrive eller vælge papirbakke vha. JavaScript. Sorry. Du skal nok få pointene tilbage ved lejlighed.

/ortrak
Avatar billede george Nybegynder
25. januar 2000 - 13:20 #4
Det er i orden.

Jeg har et JavaScript der kan udskrive
en html side på en printer. Så man kan godt udskrive til en printer vha. JavaScipt.

Jeg ønsker bare ikke at vise siden først
, men udskrive den på en printer uden at vise den på skærmen.

Kan det ikke lade sig gøre ?
Avatar billede ortrak Nybegynder
25. januar 2000 - 14:48 #5
Prøv at vis mig koden, så skal jeg se på det.
Avatar billede george Nybegynder
25. januar 2000 - 15:48 #6
Dette er koden til framet
<HTML>
<HEAD>
    <TITLE>kvit-frame</TITLE>
</HEAD>
<FRAMESET ROWS="*,10%">
<FRAME SRC="1.htm" NAME="kvit">
<FRAME SRC="2.htm" NAME="2">
</FRAMESET>
</HTML>

Dette er body'en
<HTML>
<HEAD>
<TITLE>1.htm</TITLE>
</HEAD>
<BODY>
<H1>1</H1>
</BODY>
</HTML>

Dette er koden til at styre udskriften
<HTML>
<HEAD>
    <TITLE>2.htm</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--

var da = (document.all) ? 1 : 0;
var pr = (window.print) ? 1 : 0;
var mac = (navigator.userAgent.indexOf("Mac") != -1);

function printPage(frame, arg) {
  if (frame == window) {
    printThis();
  } else {
    link = arg; // a global variable
    printFrame(frame);
  }
  return false;
}

function printThis() {
  if (pr) { // NS4, IE5
    window.print();
  } else if (da && !mac) { // IE4 (Windows)
    vbPrintPage();
  } else { // other browsers
    alert("Sorry, your browser doesn't support this feature.");
  }
}

function printFrame(frame) {
  if (pr && da) { // IE5
    frame.focus();
    window.print();
    link.focus();
  } else if (pr) { // NS4
    frame.print();
  } else if (da && !mac) { // IE4 (Windows)
    frame.focus();
    setTimeout("vbPrintPage(); link.focus();", 100);
  } else { // other browsers
    alert("Sorry, your browser doesn't support this feature.");
  }
}

if (da && !pr && !mac) with (document) {
  writeln('<OBJECT ID="WB" WIDTH="0" HEIGHT="0" CLASSID="clsid:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>');
  writeln('<' + 'SCRIPT LANGUAGE="VBScript">');
  writeln('Sub window_onunload');
  writeln('  On Error Resume Next');
  writeln('  Set WB = nothing');
  writeln('End Sub');
  writeln('Sub vbPrintPage');
  writeln('  OLECMDID_PRINT = 6');
  writeln('  OLECMDEXECOPT_DONTPROMPTUSER = 2');
  writeln('  OLECMDEXECOPT_PROMPTUSER = 1');
  writeln('  On Error Resume Next');
  writeln('  WB.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER');
  writeln('End Sub');
  writeln('<' + '/SCRIPT>');
}

// -->
</SCRIPT>
</HEAD>
<BODY>

<A HREF="#" onClick="return printPage(parent.kvit, this)">3.htm</A>

</BODY>
</HTML>

Dette skriver body'en ud på en printer
og det er godt nok. Men jeg vil gerne kunne udskrive andre html filer ud fra
nederste frame uden at vise dem på skærmen først.

Håber du forstår hvad jeg mener.
Avatar billede ortrak Nybegynder
25. januar 2000 - 16:25 #7
First of all. Som jeg først forstod det, så ville du have noget JavaScript-kode(ikke VBscript), som kunne styre udprintning. Det gør du ikke 100% ved det her script(i hvert fald ikke med JavaScript-delen). Det kræver at brugeren accepterer at printe. Det er ligesom at man ikke kan lukke et vindue vha. javascript, som man ikke har åbnet vha. javascript. Med mindre brugeren igen accepterer det.
Bortset fra det. Kan du ikke bare lave en frame som ikke er synlig, og så printe ud på den måde.

/ortrak
Avatar billede ortrak Nybegynder
25. januar 2000 - 16:27 #8
Glem det jeg skrev med en frame. Jeg er træt i hovedet. Jeg skal lige tænke lidt over det.

/ortrak
Avatar billede george Nybegynder
25. januar 2000 - 16:46 #9
Jeg prøver lige at uddybe det lidt mere.

Et eks. er måske bedre.

Forstil dig du skal lave en kvittering
til en kunde. Når jeg klikker på et link skal der komme 3 sider ud på printeren hver side i forskellig farve, så man nemt kan se forskel på de 3 udskrifter.

Så ville jeg lave 3 forskellige html
filer med hver deres layout og når jeg klikker på mit link kommer siderne ud på printeren.
Avatar billede george Nybegynder
25. januar 2000 - 16:49 #10
Det gør ikke noget at det er VBScript, det der er vigtigt er at man kan udskrive uden at "prompte" brugeren og
det kan man med det script jeg har vist dig her.
Avatar billede olebole Juniormester
26. januar 2000 - 06:33 #11
Man kan nu godt lukke et vindue, der ikke er åbnet med js. Når du har poppet et vindue op, kan du lukke hovedbrowseren uden problemer - men ellers er det ganske korrekt umuligt. Det regnes også (med rette) for dårlig etikette at påtvinge brugeren noget, han/hun ikke selv beder om.
Det er jo sjældent sælger, men køber, der har brug for en kvittering, så gør det virkelig så meget, at 'spørge'?
På den anden måde kender jeg da en del, der ville - om ikke blive sure - så i hvert fald 'undre sig skeptisk'.
/VH
Ole Clausen
Avatar billede george Nybegynder
26. januar 2000 - 15:11 #12
Jeg forstår ikke helt.

Er det mit indlæg du svarer på her eller?

Det handler jo ikke om at lukke et vindue, men om at udskrive htmy sider til en printer !!
Avatar billede olebole Juniormester
27. januar 2000 - 01:12 #13
Ja og nej.
Det med at lukke vinduer var en kommentar til ortrak (25-01-00 16:25:53).
Det med de dårlige etikette var en kommentar til dig. Blot et velment råd om ikke at prøve på at forcere events, uden at spørge brugeren først ;-)
/VH
Ole
Avatar billede george Nybegynder
27. januar 2000 - 08:36 #14
Ok Ole
Avatar billede olebole Juniormester
27. januar 2000 - 10:00 #15
;-)
Avatar billede george Nybegynder
29. december 2004 - 13:24 #16
Lukker spørgsmålet.
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