Javascript Print Button
Does anyone know of a script which when a button is clicked, it prints the contents of another frame?
------------------
Ben Minton
Does anyone know of a script which when a button is clicked, it prints the contents of another frame?
------------------
Ben Minton
Jim Shilt posted this at 15:13 — 12th February 2000.
They have: 268 posts
Joined: May 1999
Here is the script I use.
<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>
You need to name your frame and then use the following format to print
<A HREF="#" onClick="return printPage(parent.tpform, this)">
where tpform is the name of the frame you want to print.
Hope this helps.
By the way IE users will still get the dialog box that ask them if they want to print the frame, whole page etc. The script shifts the focus so they have to accept the default of frame.
------------------
My goal in life is found in Phillipians 4:8-9
My goal in life is found in Phillipians 4:8-9
shoutingrock.org/troop214
Want to join the discussion? Create an account or log in if you already have one. Joining is fast, free and painless! We’ll even whisk you back here when you’ve finished.