[whatwg] pagehide vs pagevis
bzbarsky at MIT.EDU
Wed May 29 17:34:37 PDT 2013
On 5/29/13 4:30 PM, Brady Eidson wrote:
> I see in the HTML spec that the step *before* firing pagehide is “set
> the Document’s page showing flag to false,” but I can’t find language
> that says pagehide fires *before* the page is actually hidden, and
> unload fires *after* the page is actually hidden.
Hidden in terms of "document.hidden" or something else?
> pageshow is a history traversal event, and not a visibility event. I
> don’t see a guarantee in any spec that “pageshow” comes after the
> document is actually visible.
It comes after it's visible in terms of document.visibilityState, for
pages not in background tabs.
Obviously for pages in background tabs the visibilityState of the
document is just hidden throughout.
> First, since pagehide currently always has persisted set to true (in the
> spec and in Gecko)
This is false in Gecko. There are lots of cases in which persisted is
not set to true in pagehide. It's only set to true if the page is in
fact going to be placed in the page cache based on the information
available at the point pagehide fires.
The spec on setting "persisted" in the pagehide event is just wrong.
> Third, is the difference between 4 states and 5 states really appreciable?
Which states are 4 and 5?
In any case, there are multiple page visibility implementations shipping
now, with interop on the ordering last I checked, and the spec is
finalized. If you want to change around how it works, you're going to
have to convince all the people who are already shipping implementations
of it as written, apparently with no problems, to change behavior...
More information about the whatwg