From 1972ecf04389c89f1df1321ca3e3c3b0de3c0493 Mon Sep 17 00:00:00 2001 From: Emi Matchu Date: Sat, 31 Aug 2024 12:15:27 -0700 Subject: [PATCH] Use `async` instead of `defer` for analytics script We had this issue on Impress 2020 and I fixed it over there too. I guess it went less noticed here on Classic, because it's a more progressively-enhanced site in general (and this failure case is an interesting argument for that architecture! lol). On Impress 2020, I wasn't sure if the "waits for the document to load" behavior of the `defer` attribute was necessary to the script, so I chose to keep `defer` but move it _after_ the other scripts. This time, I dug in a bit more, and found a Plausible author saying that the choice was kinda arbitrary; and another person who had the same issue as me, who said they switched to `async` and it worked well. So, that's what we're doing now, too! https://github.com/plausible/analytics/discussions/1907#discussioncomment-2754499 --- app/views/application/_analytics.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/application/_analytics.html.erb b/app/views/application/_analytics.html.erb index 04f06c64..1f8911d2 100644 --- a/app/views/application/_analytics.html.erb +++ b/app/views/application/_analytics.html.erb @@ -1,2 +1,2 @@ <%= javascript_include_tag 'https://analytics.openneo.net/js/script.js', - defer: true, 'data-domain': 'impress.openneo.net' %> \ No newline at end of file + async: true, 'data-domain': 'impress.openneo.net' %> \ No newline at end of file