Я хочу иметь возможность предварительно загружать изображения, таблицы стилей и сценарии, если это возможно, чтобы ускорить время загрузки на моем сайте, в дополнение к тому, что пользователь не видит загрузку изображения прямо перед ними. Мне интересно, что это самый эффективный способ сделать это?Каков наиболее эффективный способ предварительной загрузки изображений и таблиц стилей?
Имеет ли смысл размещать код, который должен предварительно загружать изображения и таблицы стилей на каждой странице? Другими словами, я продублировал код предварительной загрузки.
Имеет ли значение размещение кода предварительной загрузки, верхней части страницы, внизу?
Любое понимание, несомненно, будет оценено по достоинству. Вот мой код:
<script type="text/javascript">
window.onload = function() {
setTimeout(function() {
// XHR to request a JS and a CSS
var xhr = new XMLHttpRequest();
xhr.open('GET', 'css/pages.css');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'css/slider.css');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'css/responsive.css');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'css/footer-home.css');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'css/footer-main.css');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'css/contact.css');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'css/3eblog.css');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'css/index.css');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'css/submit.css');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'submit.html');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'css/bootstrap.css');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'js/jquery.cslider.js');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'js/one.js');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'js/two.js');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'js/three.js');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'js/four.js');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'js/five.js');
xhr.send('');
xhr = new XMLHttpRequest();
xhr.open('GET', 'js/modernizr.custom.28468.js');
xhr.send('');
// preload image
new Image().src = "images/3elements-issue-1-fall-2013.png";
new Image().src = "images/3elements-issue-1-fall-2013-current.png";
new Image().src = "journal-issues/3elements-review-fall-journal-issue-1-2013.swf";
new Image().src = "journal-issues/3elements-review-fall-journal-issue-1-2013.pdf";
new Image().src = "journal-issues/3elements-review-fall-journal-issue-1-2013-mobile.pdf";
new Image().src = "images/mikaela.jpg";
new Image().src = "images/carol.jpg";
new Image().src = "images/parker.jpg";
new Image().src = "images/kids.jpg";
new Image().src = "images/kids2.jpg";
new Image().src = "images/kids3.jpg";
new Image().src = "images/kids4.jpg";
new Image().src = "images/kids5.jpg";
new Image().src = "images/kids6.jpg";
new Image().src = "images/kids7.jpg";
new Image().src = "images/kids8.jpg";
new Image().src = "images/kids9.jpg";
new Image().src = "images/alert.svg";
new Image().src = "images/3elm.svg";
new Image().src = "images/drop-down-selector.svg";
new Image().src = "images/arrow-selector.svg";
new Image().src = "images/book.svg";
new Image().src = "images/facebook.svg";
new Image().src = "images/light-bulb.svg";
new Image().src = "images/logo.svg";
new Image().src = "images/logo-2.svg";
new Image().src = "images/logo-2-denied-page.png";
new Image().src = "images/mug.svg";
new Image().src = "images/notepad.svg";
new Image().src = "images/stumble.svg";
new Image().src = "images/twitter.svg";
new Image().src = "images/google-plus.svg";
new Image().src = "images/favi.ico";
new Image().src = "fonts/gotham-light.ttf";
new Image().src = "fonts/gotham-light.otf";
new Image().src = "fonts/gotham-medium.ttf";
new Image().src = "fonts/gotham-medium.otf";
new Image().src = "fonts/gotham-book.ttf";
new Image().src = "fonts/gotham-book.otf";
new Image().src = "fonts/gotham-bold.ttf";
new Image().src = "fonts/gotham-bold.ttf";
new Image().src = "fonts/pts.ttf";
new Image().src = "fonts/pts.otf";
new Image().src = "fonts/pts.woff";
}, 1000);
};
</script>
Помимо всего прочего, вы должны взглянуть на массивы и циклы: http://eloquentjavascript.net/chapter4.html , https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for. –