Короче говоря:
Facebook ДОЛЖЕН использовать iframes при загрузке данных страницы, и в индикаторе загрузки браузера нет ничего волшебного.
Подробнее:
когда вы переходите с одной страницы на другую, FB вставляет скрытый Iframe в DOM, и его атрибут src будет установлен на запрашиваемую вами страницу (с парой параметров, указывающих, что это ajax-подобный запрос, а не полное обновление страницы). Таким образом, страница фактически загружается в скрытом фрейме Однако контент не является HTML, а представляет собой набор тегов javascript, которые используют некоторые объекты JSON, содержащие HTML и другие данные, необходимые для отображения страницы.
Ниже из моей консоли Firebug во время загрузки страницы, когда iframe внедряется в DOM. Вы можете проверить, что после завершения загрузки страницы, iframe удаляется.
Чтобы понять, как эти сценарии работают с данными страницы, вы можете прочитать о BigPipe Technique . Короче говоря, он разбил конструкцию каждой страницы на пару так называемых pagelets , которые имеют собственный набор ресурсов CSS и JS, поэтому ресурсы каждой страницы могут быть получать с сервера параллельно другим страницам. big_pipe
удастся поместить каждую страничку в свой контейнер после того, как все его ресурсы станут доступны.