]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
propose a javascript optimization
authoranarcat <anarcat@web>
Mon, 6 Nov 2017 19:36:40 +0000 (15:36 -0400)
committeradmin <admin@branchable.com>
Mon, 6 Nov 2017 19:36:40 +0000 (15:36 -0400)
doc/todo/fix_javascript_load_ordering.mdwn [new file with mode: 0644]

diff --git a/doc/todo/fix_javascript_load_ordering.mdwn b/doc/todo/fix_javascript_load_ordering.mdwn
new file mode 100644 (file)
index 0000000..6a4e15f
--- /dev/null
@@ -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 `<html>` tag for templates that indent the
+`<body>` 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* `</body>` tag instead of the *opening* tag.
+
+It also improves the regex to tolerate spaces before the `</body>` tag,
+as some templates have (proper) indentation for the tag.