Avatar billede artery_graphics Nybegynder
02. april 2002 - 19:10 Der er 16 kommentarer og
2 løsninger

Print parent frame !?

Har bruger et frameset med Top, Bund, Left, Right frame og selvfølgelig en frame i midten. Framen i midten hedder printarea. Hele framesettet åbnes i et popup vindue og den side der skal printes trækkes ind i midterframen. Jeg skal med en onload funktion fra en af de andre frames sende indholdet af Midterframen til printeren.

Samtidig skal jeg bruge en close window funktion med tekstlink fra en af de andre frames.

Nogen der kan hjælpe?
Avatar billede olebole Juniormester
02. april 2002 - 19:18 #1
<ole>
Ikke uden en URL ... det kommer helt an på, hvordan din kode ser ud.
/mvh
</bole>
Avatar billede artery_graphics Nybegynder
02. april 2002 - 19:24 #2
Framesættet ser således ud:

</body>
    </noframes>
    <frame name="top" scrolling="no" src="blank.asp" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" noresize target="_self">
    <frameset cols="*,610,*" border="0" framespacing="0" frameborder="0">
    <frame name="left" scrolling="no" src="blank.asp" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" noresize target="_self">
      <frame name="printarea" scrolling="no" noresize src="../indhold/side<%=side%>.asp" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" noresize target="_self">
      <frame name="right" scrolling="no" src="blank.asp" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" noresize target="_self">
    </frameset>
      <frame name="bund" scrolling="no" src="print.asp" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" noresize target="_self">
</frameset>
</frameset>
</html>


ASP siden PRINT.ASP ser sådan ud:
(Bemærk at denne alledere indeholder et print script ... som jeg ikke kan få til at virke)


<link rel="stylesheet" href="../indhold.css">
<script language="javascript">
function udskrivMidt() {
top.printarea.focus()
top.printarea.print()
}

</script>
<base target="_self">
</head>

<body scroll="no" bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="udskrivMidt">

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%">
  <tr>
    <td width="90" class="tekst">
    <br>
    <br>
&nbsp;</td>
    <td class="tekst" valign="top">
    <a onfocus="this.blur( )" href="java script:window.close()">
    <img border="0" src="../images/close.gif">close
    window</span></a></td>
  </tr>
</table>

</body>
</html>
Avatar billede olebole Juniormester
02. april 2002 - 19:33 #3
Det her hjælper ikke stort ... kan du ikke bare skrive en URL?
Avatar billede artery_graphics Nybegynder
02. april 2002 - 19:36 #4
Jeg har sendt en URL på din mail: kodehode@yahoo.dk
Avatar billede cdc Novice
02. april 2002 - 19:37 #5
Prøv at sette denne ind på den side du vil have knapen:

<FORM>
<INPUT TYPE="button" onClick="if (window.print) { top.din_frame.focus(); top.din_frame.print()}">
</FORM>
Avatar billede artery_graphics Nybegynder
02. april 2002 - 19:44 #6
Men jeg skal ikke bruge funktion som en FORM... men ..
som en Onload funktion fra en modstående frame.
Avatar billede artery_graphics Nybegynder
03. april 2002 - 11:06 #7
Er det virkelig ikke muligt at få nogen hjælp til dette spørgsmål?
Avatar billede artery_graphics Nybegynder
03. april 2002 - 11:26 #8
=> /CDC

Okay .. din virker, men hvordan modificerer jeg koden til at kunne kører
med en Onload funktion, når siden hentes?
Avatar billede olebole Juniormester
03. april 2002 - 11:43 #9
1: Hvad er motivet overhovedet for at poppe framesettet op i et nyt vindue?

2: Hvis du lægger en handling på onload-event'en vil den jo blive eksekveret allerede første gang, det pågældende frameset loades - altså i dit hovedvindue.

3. Dit frameset indeholder en hel del fejl ... bl.a. afslutter du tre framesets, men påbegynder kun to. Derudover hører noframes-elementet til udenfor framesettet. Der er ikke noget, der hedder frameborder i frameset-tag'et ... det hører til under frame-tag'et. Det var vist de værste  ;o)
/mvh
Avatar billede olebole Juniormester
03. april 2002 - 11:49 #10
Hvis motivet er "Sådan gør man nu engang", har du misforstået grunden.
Når man ofte popper en side, der skal printes ud, er det *ikke* samme side, men en 'printervenlig' version af siden ... f.eks. uden frames. Egentlig ville man helst undgå denne popup, men er desværre nødt til at lave den.
Er det blot den samme side - som i dit tilfælde - er det helt overflødigt og noget man absolut ville undgå.
/mvh
/mvh
Avatar billede artery_graphics Nybegynder
03. april 2002 - 12:02 #11
Okay hvordan vil koden til et ordentligt frameset af denne slags se ud?

Idéen med popup vinduet, der rigtig nok trækker den samme siden ind i framesettet, er at jeg endnu ikke har fundet en onload print funktion, der virker i IE på MAC. Politiken.dk bruger også popup til printning af deres artikler. Grunden er, at Toolbar menuen her kan slåes til og på den måde kan indholdet på set i IE på Mac printes således, via printikonet.

CDC's svar virker, men jeg skal ikke bruge koden som en form knap.
Hvis denne blot kunne aktiverer sig selv når popup vinduet åbnes.
Framen længst til højre er forskellig fra de andre... her kunne en onload vel godt placeres?
Avatar billede olebole Juniormester
03. april 2002 - 12:44 #12
Okay ... supporterer Mac. Det kan jeg lide  ;o)
Prøv det her:

function NewWindow(mypage, myname, w, h, scroll) {
  var winl = (screen.width - w) / 2;
  var wint = (screen.height - h) / 2;
  winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+''
  win = window.open(mypage, myname, winprops+',toolbar=yes');
  if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
  win.onload = function() {
    if (window.print) win.din_frame.focus(); win.din_frame.print();
  }
}

Du lukker vinduet med:

<a href="#" onclick="top.close();">Luk</a>

/mvh
Avatar billede olebole Juniormester
03. april 2002 - 12:56 #13
...og sådan ville jeg nok skrive dit frameset:

<frameset rows="*,400,*" framespacing="0">
  <frame name="top" src="blank.asp" scrolling="no" frameborder="0" noresize>
    <frameset cols="*,600,*" framespacing="0">
      <frame name="left" src="blank.asp" scrolling="no" frameborder="0" noresize>
      <frame name="printarea" src="../indhold/side2.asp" scrolling="no" frameborder="0" noresize>
      <frame name="right" src="print.asp" scrolling="no" frameborder="0" noresize>
    </frameset>
      <frame name="bund" src="blank.asp" scrolling="no" frameborder="0" noresize>
</frameset>

<noframes>
Din browser underst&oslash;tter ikke frames, som det kr&aelig;ves for at se dette site
</noframes>
Avatar billede artery_graphics Nybegynder
03. april 2002 - 13:02 #14
Hmm .. jeg fik rettet framesettet selv, tror det matcher lidt bedre
med din version af det nu.

Luk funktionen virker fint.

Men jeg kan stadig ikke få den til at printe. Jeg har ændret din_frame til printarea, som er navnet på framen.

Du kan stadig se det hele her den adresse jeg sendte dig.
Avatar billede artery_graphics Nybegynder
03. april 2002 - 13:08 #15
Det mærkelig er at CDC's kode virker fint, hvis den aktiveres med den From button, eller onClick funktion i det hele taget ... men ikke ved onLoad !?!
Avatar billede artery_graphics Nybegynder
03. april 2002 - 13:15 #16
Jeg tester kun printfunktionen på SIDE|01
Avatar billede artery_graphics Nybegynder
03. april 2002 - 13:35 #17
Vil denne her printfunktion nogen sinde kunne virke i IE5 og 5.1 på MAC?


<body scroll="no" bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<table border="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" cellpadding="0" height="100%">
  <tr>
    <td class="tekst" valign="bottom">
    <p align="center">SIDE|02<a href="#" onfocus="this.blur( )" onclick="if (window.print) { parent.text.focus(); parent.text.print()}"></span><img border="0" onfocus="this.blur( )" src="../images/print.gif" width="20" height="15"></td>
  </tr>
</table>

</body>
</html>
Avatar billede artery_graphics Nybegynder
03. april 2002 - 17:33 #18
Problemet er løst på anden vis. Tak for hjælpen begge to.
I må dele pointene.
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