lundi 20 avril 2015

Progressive rendering doesn't work with Safari 8 (iOS, Mac OS X)

There seems to be a bug in Safari 8 that prevents progressive rendering of HTML from working. My server sends the following partial HTML, then waits for few seconds:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset = "UTF-8"/>
<style>
a {
  color: red;
}
</style>
</head>
<body>
<a>Hello, this is the body!</a>

.. and then later sends the end tags after a few seconds, thus:

</body>
</html>

Both Chrome and Firefox immediately render the red-coloured "Hello, this is the body!" text, and don't wait for the end tags to come through. However Safari 8 on both iOS and Mac OS X refuses to render the text until the entire HTML has come through, thereby delaying the "Time to First Render" substantially.

What am I missing here? Clearly, the style information for the anchor element is in the head, and that's already available to Safari!

Aucun commentaire:

Enregistrer un commentaire