September 7, 2001 - Verifying that the Pages are Print-Ready
September 7, 2001 Verifying that the Pages are Print-Ready Tips: September 2001
Yehuda Shiran, Ph.D.
|
readyState
:
if (layoutrect1.contentDocument.readyState == "complete")
When the page is not ready, you need to install a new event handler that will fire off when the page is ready:
layoutrect1.contentDocument.onreadystatechange = PrintWhenContentDocComplete;
Microsoft print template loader uses the PrintPrep()
function for checking that the pages are ready for printing:
function PrintPrep() {
if (layoutrect1.contentDocument.readyState == "complete") {
PrintNow();
}
else {
layoutrect1.contentDocument.onreadystatechange = PrintWhenContentDocComplete;
}
}
The function PrintWhenContentDocComplete()
checks again the readyState
of page1
, and only then calls PrintNow()
. We also need to set the readyState
property to null
, to make sure the onreadystatechange
won't fire off again and again. Here is the whole PrintWhenContentDocComplete()
function:
function PrintWhenContentDocComplete() {
if (layoutrect1.contentDocument.readyState == "complete") {
layoutrect1.contentDocument.onreadystatechange = null;
PrintNow();
}
}
To learn more about print templates, read Column 89 (Print Templates, Part I) and Column 91 (Print Templates, Part II: TemplatePrinter.) Download Microsoft print template loader.