I have a page that calls window.print(); at the bottom of the page. I have no way of accessing the code around window.print(); Its generated by the server and I can't touch it. Basically because of IE I need to execute a bit of javascript before the print dialog comes up but after the page has loaded. I can't do this because as soon as it gets to window.print(); the print dialog comes up. I still need to print but first I need to run myFunction() then I can window.print();
<html><head></head><body></body><!--no access from here--><script>window.print();</script></html>
You should be able to override it like so...
var _print = window.print;
window.print = function() {
alert("Hi!");
// do stuff
_print();
}
"Basically because of IE I need to..."
If you only need support for IE, see the onbeforeprint event.
window.onbeforeprint = function () {
// some code
}
The benefit here is that the code will not run in browsers that don't support onbeforeprint, which is pretty much every browser except IE.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With