How to print via scriptingPrinting via script is not possible in Netscape or Internet Explorer 3. One feature that I have taken advantage of is that a subroutine can be accessed via the window obect window.functionname. This means we can name the printing subroutine print and if we call window.print( ) on the click of the print button, Netscape will call its built in print method, and Internet explorer will call our print routine. This little routine is written in VBScript so Netscape will ignore it. The catch will be: when Internet explorer starts to support the print method we will have to modify our code. We would probably have to change the code then any way to account for a new web browser object. The final consideration is, what happens when the user cancels the print or there is some printing error, or their browser doesn't support printing? All we need to do is trap the errors, and check if there was one after issuing the print command. Here is the code for a simple print page: <html> <head> <script language="javascript"> <!-- // a little variable because IE3 isn't nice about testing // for objects in vbscript DA = (document.all) ? 1 : 0 window.onerror=handle_error function handle_error() { msg="\nNothing was printed. \n\nIf you do want to print this page," msg+="then\nclick on the printer icon in the toolbar above." alert(msg) // to cancel the script error warning return true; } //--> </script> <SCRIPT LANGUAGE="VBScript"> sub print olecmd = 6 ' Print Command oleparam = 1 on error resume next WB.ExecWB olecmd, oleparam if err.number <> 0 then if DA then ' ie4 - user probably cancelled alert "Nothing was printed." else ' ie3 - give other instructions handle_error end if end if end sub </SCRIPT> </head> <body> <form> <Input type=button value="print page" onclick="window.print();"> </form> <OBJECT ID="WB" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"> </OBJECT> </BODY> </HTML> Check out the printing article on the Microsoft MSDN Workshop site that shows some alternatives, including a solution for printing frames. My Tripod homepage : Comments and corrections welcome to housten@hotmail.com or my guestbook. |