You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hey, I've noticed the dreaded Flash of Unstyled Content (FOUC) issue with this template. It's noticeable for me on the template preview on Firefox. This might be a Firefox-only issue. After some research, I stumbled on this fix:
While things should run smoothly on Chrome, you might still see a flash on Firefox. I struggled to find a solution to this problem until I stumbled upon a bug in Firefox that’s been reported 3 years ago and is still active. People are still trying to fix this but lucky for us there’s a simple hack we can use as a workaround to this problem. Simply add a dummy piece of JavaScript code right after your tag and you should be all set!
I realize this isn't a "bug" with your code, but funky browser business. I'm happy to resubmit this as a pull request if you like. Otherwise, I present the diff if anyone else wants to fix it.
NOTE: I didn't need the <script>0</script> firefox hack mentioned in the article since I just put the FOUC fix right after the body tag.
# line numbers may not line up!diff --git a/_layouts/default.html b/_layouts/default.html
index dc74478..9f9853f 100644
--- a/_layouts/default.html+++ b/_layouts/default.html@@ -1,7 +1,28 @@
<html lang="en">
{% include head.html %}
- <body>+ <body style="visibility: hidden">+ <!-- FOUC hack for firefox. ugh!+ https://medium.com/@fbnlsr/how-to-get-rid-of-the-flash-of-unstyled-content-d6b79bf5d75f+ -->+ <script type="text/javascript">+ // Helper function+ let domReady = (cb) => {+ document.readyState === "interactive" ||+ document.readyState === "complete"+ ? cb()+ : document.addEventListener("DOMContentLoaded", cb);+ };++ domReady(() => {+ // Display body when DOM is loaded+ document.body.style.visibility = "visible";+ });+ </script>+
<nav>{% include nav.html %}</nav>
<div class="wrapper">
<main>{{ content }}</main>
@@ -9,5 +30,12 @@
</div>
{% include link-previews.html wrapperQuerySelector="content" %}
+ <noscript+ ><style>+ body {+ visibility: visible;+ }+ </style></noscript+ >
</body>
</html>
I am so sorry for this ugly hack :)
Also, I really dig this template. Thanks so much!
The text was updated successfully, but these errors were encountered:
Hey, I've noticed the dreaded Flash of Unstyled Content (FOUC) issue with this template. It's noticeable for me on the template preview on Firefox. This might be a Firefox-only issue. After some research, I stumbled on this fix:
I realize this isn't a "bug" with your code, but funky browser business. I'm happy to resubmit this as a pull request if you like. Otherwise, I present the diff if anyone else wants to fix it.
NOTE: I didn't need the
<script>0</script>
firefox hack mentioned in the article since I just put the FOUC fix right after the body tag.I am so sorry for this ugly hack :)
Also, I really dig this template. Thanks so much!
The text was updated successfully, but these errors were encountered: