Michael A. Puls II schrieb:
On Mon, 28 Dec 2009 14:39:06 -0500, Michael A. Puls II
<[email protected]> wrote:
On Mon, 28 Dec 2009 12:08:48 -0500, Boris Zbarsky <[email protected]>
wrote:
On 12/28/09 9:54 AM, Michael A. Puls II wrote:
As for window.print(), what if it returns false if printing is not
supported?
It might be better as |true| (crappy API issues aside), because
otherwise if a page writes |if (window.print())| it'll get false in
all existing browsers, no?
Ah, I see. Good point.
Since making print() return something isn't going to help with older UAs
and returning true would feel backwards, instead of:
if (window.print()) {
alert("Printing is not supported");
}
, we could do this:
if (typeof navigator.printingEnabled === "function" &&
!navigator.printingEnabled()) {
alert("Printing is not supported");
} else {
window.print();
}
It's more verbose though and I'm not sure any will like it. But, tossing
it out there.
What about:
if (!window.print) {
alert("Printing is not supported"); [1]
} else {
window.print();
}
This is possible if - one of Ollis initial proposals - browsers which
don't support window.print() do not have the print method at all. That
is backwards compatible, as legacy Handheld, TV and whatever UAs, that
may have a however-working print method, just behave the same way they
always did.
[1] I'd actually prefer something like:
body.onload = function() {
if (window.print) {
// Code that creates the print button
// and adds it to the appropriate parent element
}
}