Tapestry 5
  1. Tapestry 5
  2. TAP5-313

Provide configuration to move links to JavaScript libraries to the top of the page

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 5.0.15
    • Fix Version/s: 5.0.16
    • Component/s: tapestry-core
    • Labels:
      None

      Description

      We've had a discussion about the Javascript issue here:
      https://issues.apache.org/jira/browse/TAPESTRY-2364

      Currently Tapestry puts Javascript on the bottom of the page. This will make the page look like it loads faster, because the browser can start rendering the page before the Javascript libraries are loaded.

      It is quite common however if you want your page to work without Javascript, that you render out full HTML and then use Javascript to hide parts on the client before the page renders. This way everything is visible to people that don't have Javascript enabled in their browser, but people with Javascript will get a better user-experience.

      Currently the result is messy because you see the page being rendered and once the Javascript libraries are all loaded, the sections are hidden. It is all visible to the user and you have to come up with all kinds of hacks to work around that issue. Therefore it would be greatly appreciated if it were possible to configure Tapestry so that users can choose to include the libraries in the head section again.

      Having the Javascript included in the head is the way most people are used to, so it would also make things easier for the average Tapestry user.

        Issue Links

          Activity

          Hide
          Onno Scheffers added a comment -

          I have just tested this in the 5.0.16 release.

          The issue doesn't seem to be resolved. When you set tapestry.script-at-top to true, the Javascript files are now included at the top of the page but they are still inside the body tag and not in the head section.

          Including the scripts in the head is the only cross-browser way to make sure all scripts are loaded before the page starts rendering as far as I know, which is also what was requested in this issue.

          Show
          Onno Scheffers added a comment - I have just tested this in the 5.0.16 release. The issue doesn't seem to be resolved. When you set tapestry.script-at-top to true, the Javascript files are now included at the top of the page but they are still inside the body tag and not in the head section. Including the scripts in the head is the only cross-browser way to make sure all scripts are loaded before the page starts rendering as far as I know, which is also what was requested in this issue.
          Hide
          Howard M. Lewis Ship added a comment -

          I understand your issue; sorry for the inconvienience. I'll be fixing this in 5.0.17 as TAP5-373.

          Show
          Howard M. Lewis Ship added a comment - I understand your issue; sorry for the inconvienience. I'll be fixing this in 5.0.17 as TAP5-373 .

            People

            • Assignee:
              Howard M. Lewis Ship
              Reporter:
              Onno Scheffers
            • Votes:
              2 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development