Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 15.03.2012, 12:57   #1
Эксперт
 
Аватар для SergejF
 
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 503
SergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущее
По умолчанию Как ускорить подгрузку скрипта?

Ситуация: статичный html-сайт. С помощью скрипта небольшие картинки на страницах при клике на них "разворачиваются" в полноразмерное изображение. Выполнено это с помощью скриптов http://ajax.googleapis.com/ajax/libs.../jquery.min.js , zoom.js у меня на сервере и нескольких "связок из двух jpg-файлов, маленького и большого. Вот таким образом:

Код:
<head>
...
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="zoom/zoom.js"></script>
...
</head>
...
<a href="images/about1.jpg" class="zoom"><img border="1" src="images/about11.jpg" width="250" height="188"></a>
<a href="images/about2.jpg" class="zoom"><img border="1" src="images/about22.jpg" width="250" height="188"></a>
<a href="images/about3.jpg" class="zoom"><img border="1" src="images/about33.jpg" width="250" height="188"></a>
...
Скрипт jquery.min.js размером 80 KB и большие файлы начинают загружаться при клике. Из-за этого происходит некоторая задержка, изображение начинает разворачиваться не сразу. Можно ли сделать так, чтобы скрипт и файлы загружались при загрузке страницы, не дожидаясь клика пользователя?
SergejF вне форума   Ответить с цитированием
Старый 15.03.2012, 14:50   #2
Мастер
 
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 237
ahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущееahsinis - прекрасное будущее
По умолчанию

не знаю как на jquery это сделать, на обычном javascript это делается так
Код:
var img = new Image();
img.src = 'URL';
Вот тут на вскидку подробнее
http://www.internet-technologies.ru/...ticle_835.html
ahsinis вне форума   Ответить с цитированием
Старый 15.03.2012, 15:24   #3
Эксперт
 
Аватар для MonAmur
 
Регистрация: 03.07.2007
Адрес: Chinatown
Сообщений: 7,265
Вес репутации: 609
MonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущее
По умолчанию

Цитата:
Сообщение от SergejF Посмотреть сообщение
Скрипт jquery.min.js размером 80 KB и большие файлы начинают загружаться при клике. Из-за этого происходит некоторая задержка, изображение начинает разворачиваться не сразу. Можно ли сделать так, чтобы скрипт и файлы загружались при загрузке страницы, не дожидаясь клика пользователя?
этот скрипт загружается непосредственно при загрузке кода страницы, а не при клике.
Вам нужно прелоадер картинок.

пример (коды размещать в самом низу страницы):
Код HTML:
<script type="text/javascript" src="imagepre.js"></script>
в нем код:
Код HTML:
function preloadImages(imgs){
	
	var picArr = [];
	
		for (i = 0; i<imgs.length; i++){
			
				picArr[i]= new Image(100,100); 
				picArr[i].src=imgs[i]; 

			
			}
	
	}
Код HTML:
  <script type="text/javascript">
		preloadImages([
			'images/1.gif',
			'images/2.gif',
			'images/3.gif',
бла-бла-бла........
			'images/wrapper_pic-act.png',
			'images/wrapper_pic_border.gif',
			'images/wrapper_pic_border-act.gif',
			'images/wrapper_pic_border-b.gif']);
	</script>
MonAmur вне форума   Ответить с цитированием
Старый 15.03.2012, 19:48   #4
Эксперт
 
Аватар для SergejF
 
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 503
SergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущее
По умолчанию

Цитата:
Сообщение от MonAmur Посмотреть сообщение
этот скрипт загружается непосредственно при загрузке кода страницы, а не при клике.
Спасибо, буду знать. Значит задержку вызывает не загрузка скрипта, а загрузка больших изображений.


Цитата:
Сообщение от MonAmur Посмотреть сообщение
Вам нужно прелоадер картинок.
И за это поклон!

Добавлено через 3 часа 8 минут
Что-то я, наверно не так делаю. MonAmur, проверьте порядок, пожалуйста:

На html странице перед </body> вставил код:

Код:
 
<script type="text/javascript" src="imagepre.js"></script>	
<script type="text/javascript">
		preloadImages([
			'images/about1.jpg',
			'images/about2.jpg']);
</script>
Создал файл imagepre.js, вставил в него код:

Код:
function preloadImages(imgs){
	
	var picArr = [];
	
		for (i = 0; i<imgs.length; i++){
			
				picArr[i]= new Image(100,100); 
				picArr[i].src=imgs[i]; 

			
			}
	
	}
Закачал страницу и imagepre.js на сервер.

Открываю страницу в браузере. Дожидаюсь пока потухнет значок связи с Интернет. Страничка закачивается быстро, изображения явно не догружаются. Кликаю по ссылке на изображения about1.jpg, about1.jpg и только тогда происходит их загрузка.

Что делаю неправильно?

Последний раз редактировалось SergejF; 15.03.2012 в 19:48. Причина: Добавлено сообщение
SergejF вне форума   Ответить с цитированием
Старый 15.03.2012, 19:54   #5
Эксперт
 
Аватар для MonAmur
 
Регистрация: 03.07.2007
Адрес: Chinatown
Сообщений: 7,265
Вес репутации: 609
MonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущееMonAmur - прекрасное будущее
По умолчанию

SergejF, а картинки находятся тут - сайт.ру/images/about1.jpg ?

пришлите урл страницы в личку. гляну.
MonAmur вне форума   Ответить с цитированием
Старый 15.03.2012, 20:27   #6
Эксперт
 
Аватар для SergejF
 
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 503
SergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущее
По умолчанию

Цитата:
Сообщение от MonAmur Посмотреть сообщение
а картинки находятся тут - сайт.ру/images/about1.jpg ?
Да. Линк отправил в личку.
SergejF вне форума   Ответить с цитированием
Старый 15.03.2012, 22:06   #7
Злой модератор
 
Аватар для Wink
 
Регистрация: 25.03.2007
Адрес: Deep forest
Сообщений: 5,343
Вес репутации: 503
Wink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущее
По умолчанию

Если jquery используется только для "разворачивания" картинок, есть смысл вместо него использовать highslide, который в упакованном виде весит 25 Кб. Там сразу есть и предварительная загрузка картинок и подгон размеров картинки к разеру окна браузера и еще куча возможностей.
Wink вне форума   Ответить с цитированием
Старый 16.03.2012, 00:54   #8
Эксперт
 
Аватар для SergejF
 
Регистрация: 17.02.2008
Адрес: Донецк, ДНР
Сообщений: 8,880
Вес репутации: 503
SergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущееSergejF - прекрасное будущее
По умолчанию

Цитата:
Сообщение от Wink Посмотреть сообщение
есть смысл вместо него использовать highslide
Спасибо, Wink. Работает.

Последний раз редактировалось SergejF; 16.03.2012 в 01:02.
SergejF вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как ускорить индексацию в Яше? Никиш Яндекс 28 24.12.2010 17:37
Как ускорить индексацию? la2er Вопросы от новичков 28 17.09.2010 16:00
Как ускорить вывод? Sudba Финансовые и юридические вопросы 8 08.04.2010 14:44
ускорить вывод средст viy Финансовые и юридические вопросы 2 17.07.2009 16:03
Как ускорить размещение ссылок firmabos2003 Вопросы по работе системы 4 06.06.2009 16:20


Часовой пояс GMT +3, время: 14:35.