Solved

How to print frames

Posted on 1998-07-29
3
147 Views
Last Modified: 2010-04-09
Does anyone know how to print all frames on a page from netscape.  I know the option exist in IE4 but some of my audience may have netscape.  Is there a java script or any code that will allow for this
0
Comment
Question by:mragg
  • 2
3 Comments
 
LVL 75

Accepted Solution

by:
Michel Plungjan earned 20 total points
Comment Utility
You have two possibilities
1. if the framelayout must be one one page, you must recreate the files shown in a table and load that page - this is the ONLY way all frames can be on one printed page in netscape
2. If you just need to print the framecontents on separate pages, Netscape 4 supports the print() function.
A button to do it could look like this:

<FORM><INPUT TYPE="BUTTON" VALUE="Print all frames"
ONCLICK="if (self.print) for (i=0,n=top.frames.length;i<n;i++) top.frames[i].print();">
</FORM>

The line starting with ONCLICK is all on one line until ">

Michel
0
 

Author Comment

by:mragg
Comment Utility
I don't understand.
My situation is that I have a frame header with colums that must match up to a frame containing content for the header.  
look at my diagram:
 --------------
 |   header   |  
 --------------
 |   content  |
 |            |
 |            |
 --------------
Both are in a table that align.  I need people to be able to print this on one page or else the content page doesn't make sense.
Thanks for the response.
0
 
LVL 75

Expert Comment

by:Michel Plungjan
Comment Utility
If you use frames as in
<FRAMESET ROWS="100,*">
<FRAME SRC="header.htm">
<FRAME SRC="content.htm">
</FRAMESET>

there is currently no way to get Netscape to print these two files
-yes, they are on the screen at the same time but they are two separate files! -
on one piece of paper.
The user may press print-screen, paste it into a pint program and print that file but that is not what you want.

So to get the same effect, you have to create a new document, with a table set up the same way (or as near as possible) as the frames, containing the same data as in the header and in the contents.

So if Header.htm contains

<HTML>
<CENTER>
Now is the time for all good persons
</CENTER>
</HTML>

and Contents.htm contains

<HTML>
<CENTER>
to come the the aid of their browsers
</CENTER>
</HTML>

you will have to create a new document (let's call it printable.htm) containing

<HTML>
<CENTER>
<TABLE>
<TR>
   <TD><IMG SRC="transparent.gif" width=1 height=100></TD>
   <TD ALIGN="CENTER">Now is the time for all good persons</TD></TR>
<TR>
   <TD>&nbsp;</TD><TD ALIGN="CENTER">to come the the aid of their browsers</TD>
</TR>
</TABLE>
</CENTER>
</HTML>

and print this instead.

You may use a hidden frame to load it:

<FRAMESET ROWS="100,*,*">
<FRAME NAME="HEADER" SRC="header.htm">
<FRAME NAME="CONTENT" SRC="content.htm">
<FRAME NAME="HIDDEN" SRC="printable.htm">
</FRAMESET>
 
and print it with top.HIDDEN.print();

Hope this helped clarifiy it. (I know, the solution stinks, but that is life on the www sometimes, sigh)

Michel
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Deprecated and Headed for the Dustbin By now, you have probably heard that some PHP features, while convenient, can also cause PHP security problems.  This article discusses one of those, called register_globals.  It is a thing you do not want.  …
Someone recently asked me about how to display a progress indicator on a page while an iframe is loading. And I remember when I first came across this myself. It was a bit tricky to get my head around, but really, it's very simple. The most impor…
In this Micro Tutorial viewers will learn how to create navigation buttons that change on rollover, using CSS (Continuation of the CSS Image Sprite tutorial) Create a parent ID for all the list items       - Specify position: absolute and display: block…
In this tutorial viewers will learn how to style elements, such a divs, with a "drop shadow" effect using the CSS box-shadow property Start with a normal styled element, such as a div.: In the element's style, type the box shadow property: "box-shad…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now