Функция ниже создаст и добавит в документ все таблицы стилей, которые вы хотите загрузить асинхронно. (Но, благодаря Event Listener
, он будет делать это только после того, как будут загружены другие ресурсы окна.)
См. Следующее:
function loadAsyncStyleSheets() {
var asyncStyleSheets = [
'/stylesheets/async-stylesheet-1.css',
'/stylesheets/async-stylesheet-2.css'
];
for (var i = 0; i < asyncStyleSheets.length; i++) {
var link = document.createElement('link');
var rel = document.createAttribute('rel');
var href = document.createAttribute('href');
link.setAttributeNode('rel', 'stylesheet');
link.setAttributeNode('href', asyncStyleSheets[i]);
document.head.appendChild(link);
}
}
window.addEventListener('load', loadAsyncStyleSheets, false);
Я просто использовал API видимости страницы для загрузки игры вручную.
document.addEventListener('visibilitychange', function () {
if (document.hidden) {
self.focus = false;
console.log('hidden');
} else if (document.visibilityState == 'visible' && !self.focus) {
self.focus = true;
console.log('visible');
// Load Game via Ajax
}
});