From 8b3c8e327da06f6b50d5ffe159b090f7818e21cd Mon Sep 17 00:00:00 2001 From: anarcat Date: Mon, 6 Nov 2017 15:36:40 -0400 Subject: [PATCH] propose a javascript optimization --- doc/todo/fix_javascript_load_ordering.mdwn | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 doc/todo/fix_javascript_load_ordering.mdwn diff --git a/doc/todo/fix_javascript_load_ordering.mdwn b/doc/todo/fix_javascript_load_ordering.mdwn new file mode 100644 index 000000000..6a4e15ff2 --- /dev/null +++ b/doc/todo/fix_javascript_load_ordering.mdwn @@ -0,0 +1,20 @@ +[[!tag patch]] +[[!template id=gitbranch branch=anarcat/reverse-js-includes author="[[users/anarcat]]"]] + +As mentioned in [[todo/css_and_javascript_aggregation]] the current +ordering of Javascript files in [[plugins/toggle]], +[[plugins/relativedate]] and [[plugins/recentchangesdiff]] is +incorrect: Javascript files get loaded before the main content and may +even be loaded before the `` tag for templates that indent the +`` tag with whitespace. + +According to the [best practices](https://developers.google.com/speed/docs/insights/mobile#PutStylesBeforeScripts) Javascript resources should be +presented to browsers after CSS, and "after the fold" (ATF) according +to the best practices. This allows the browser to download Javascript +files in parallel. + +I have pushed a [simple patch](https://gitlab.com/anarcat/ikiwiki/commit/5caf6e1f87530dda74ec23eb1fa7120309607cc8) which fixes this issue by including +Javascript on the *closing* `` tag instead of the *opening* tag. + +It also improves the regex to tolerate spaces before the `` tag, +as some templates have (proper) indentation for the tag. -- 2.39.5