Howard M. Lewis Ship created TAP5-2371:
------------------------------------------

             Summary: Prevent interaction with page until fully loaded
                 Key: TAP5-2371
                 URL: https://issues.apache.org/jira/browse/TAP5-2371
             Project: Tapestry 5
          Issue Type: New Feature
          Components: tapestry-core
    Affects Versions: 5.4
            Reporter: Howard M. Lewis Ship


With the emphasis on JavaScript, there is an issue where a user on a slow 
connection interacts with the page before the page has fully loaded its 
JavaScript and run initializations. This can lead to client-side JavaScript 
exceptions, or server-side failures (when ordinary requests are sent to URLs 
that expect an Ajax/XHR request).

The right solution is for Tapestry to provide a "pageloading mask", a div that 
masks the entire page from user input (and provides a loading image) until page 
initializations complete.

The implementaton of this uses a <script> tag, with document.write, to 
introduce the mask element at the top of the page (so that 
non-JavaScript-enabled clients will be able to interact with the page to some 
degree).

CSS animations are used to fade in the mask after a delay.  The presentation of 
the mask can be modified via CSS overrides. By default, it is black with 50% 
opacity.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to