Only by loading a framset with all four pages loaded – with the onLoad event handler in the frameset using the window print method to print each frame:
[form]
[input type="button" onClick="if (window.print) location.href='printframeset.htm'"]
[/form]
And then in printframeset.htm:
[html]
[head]
[script language="JavaScript"][!--
function printAll() {
for (var i=0;i[frames.length;i++)
if (window.print)
frames[i].print();
}
//–][/script]
[/head]
[frameset onLoad="printAll()" rows="*,*,*"]
[frame xsrc="apage.htm" mce_src="apage.htm" ]
[frame xsrc="anotherpage.htm" mce_src="anotherpage.htm" ]
[frame xsrc="yetanotherpage.htm" mce_src="yetanotherpage.htm" ]
[/frameset]
[/html]
The previous script has been reported not to work on some platforms (it works perfectly on Netscape Navigator 4.7 on Linux). I assume on some platforms only one print dialogue box at a time can be opened. It might be possible to overcome this with a setTimout, but its going to be difficult to know when to start another one. A set delay of, say, 5 seconds might be too short if the user doesn’t hit the print button. Anyway try:
[html]
[head]
[script language="JavaScript"][!--
function printAll() {
for (var i=0;i[frames.length;i++)
if (window.print)
setTimeout('frames[' + i + '].print()’,5000 * i);
}
//–][/script]
[/head]
[frameset onLoad="printAll()" rows="*,*,*"]
[frame xsrc="apage.htm" mce_src="apage.htm" ]
[frame xsrc="anotherpage.htm" mce_src="anotherpage.htm" ]
[frame xsrc="yetanotherpage.htm" mce_src="yetanotherpage.htm" ]
[/frameset]
[/html]

Note; Repleace[ .] with <,> in code

Share