Есть сайт - три страницы: index.html, page2.html, page3.html. На двух из них: index.html и page2.html - не мало графики, включая тяжеловесный фон 2000х1250.
По запросу адреса сайта грузится index.html.
Я сделал эмуляцию загрузки страницы таким образом, что сразу после тега <body> вызывается ф-я loading, которая образно состоит из двух блоков:
1. накрываю всю страницу абсолютно спозиционированным блоком с GIF картинкой "loading" внутри.
2. по событию window.load -
убирается накрывающий фон;
показываются элементы страницы;
что-то типа такого:
... <body> <script> function loading_page(){ // add loading box to the DOM
window.load = function(){ // remove loading box
// show elements on the page (fadeIn) } } </script> ...
Дальше каждая страница подгружается асинхронно при помощи ajax.
Нужно прокешировать картинки на оставшихся двух или сразу для всех в ф-ии loading_page().
Думаю сделать запросы на скачивание картинок при помощи Image() объекта так:
... <body> <script> function loading_page(){ // add loading box to the DOM
// preload all images srcs = ["some_path/image1.jpg",...];// all images from all of 3 pages for(i=0;i<srcs.length;i++) ImgObj.src = srcs[i];
window.load = function(){ // remove loading box
// show elements on the page (fadeIn) }
} </script> ...
Вопрос заключается в следующем:
правильно ли делать загрузку карнинок именно в этом месте (// preload all images).
Т.е. правильно ли я понял - параллельно делаются запросы на скачивание каждой из картинок. Дальше агент парсит html код линию за линией и как только види <img /> тег или стилевое значение ...url(some_path/image.jpg)... то делает запрос к серверу на скачивание этой картинки.
А если в этот же момент, эта же картинка загружается при помощи Image() объекта - то что будет делать обозреватель - пропустит дублирующий http запрос?
И будет ли потрачено существенное время, на выявление дублирующего запроса?
Может лучше после события window.onload для страницы index.html подгружать только картинки для оставшихся двух страниц: page2.html, page3.html?
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
paska
Всем здрасте.
Есть сайт - три страницы: index.html, page2.html, page3.html. На двух из них: index.html и page2.html - не мало графики, включая тяжеловесный фон 2000х1250.
По запросу адреса сайта грузится index.html.
Я сделал эмуляцию загрузки страницы таким образом, что сразу после тега <body> вызывается ф-я loading, которая образно состоит из двух блоков:
1. накрываю всю страницу абсолютно спозиционированным блоком с GIF картинкой "loading" внутри.
2. по событию window.load -
что-то типа такого:
Дальше каждая страница подгружается асинхронно при помощи ajax.
Нужно прокешировать картинки на оставшихся двух или сразу для всех в ф-ии loading_page().
Думаю сделать запросы на скачивание картинок при помощи Image() объекта так:
Вопрос заключается в следующем:
правильно ли делать загрузку карнинок именно в этом месте (// preload all images).
Т.е. правильно ли я понял - параллельно делаются запросы на скачивание каждой из картинок. Дальше агент парсит html код линию за линией и как только види <img /> тег или стилевое значение ...url(some_path/image.jpg)... то делает запрос к серверу на скачивание этой картинки.
А если в этот же момент, эта же картинка загружается при помощи Image() объекта - то что будет делать обозреватель - пропустит дублирующий http запрос?
И будет ли потрачено существенное время, на выявление дублирующего запроса?
Может лучше после события window.onload для страницы index.html подгружать только картинки для оставшихся двух страниц: page2.html, page3.html?
Всем осилившим текст - заранее СПС
Link to comment
Share on other sites
11 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.