You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org> on 2014/08/07 20:36:15 UTC

[jira] [Created] (TAP5-2371) Prevent interaction with page until fully loaded

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)