Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
5.1.0.5
-
None
-
None
Description
Tapestry.windowUnloaded is setted to true on the beforeUnload event. But this event is not triggered only when the page is going to be unloaded. For example, when a user clicks a link to go to another page, both the beforeUnload and unload events are triggered. But, when a user clicks a link to download a file with Content-disposition set to attachment (or when the file cannot be opened inside the browser), the current page is not unloaded. In fact, although the beforeUnload event is triggered (because of the GET request sent), the unload event is never triggered, so the page stays right there. In this situations, any Ajax link stop working because its response is not proccessed anymore.
I think the correct behaviour should be to set Tapestry.windowUnloaded on the unload event (triggered when the objects actually are going to be unloaded), or not setting it at all, because the behaviour using the beforeUnload is really a bad thing.
https://issues.apache.org/jira/browse/TAP5-957 is somehow related to this issue, but this happens in many browsers, not just IE and when downloading files, which is critical (unlike javascript execution for which you can observe events...).
Attachments
Issue Links
- relates to
-
TAP5-957 Tapestry's use of the beforeunload event conflicts with how IE operates
- Closed