Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Кеширование .js файла (https://javascript.ru/forum/misc/20724-keshirovanie-js-fajjla.html)

Severtain 15.08.2011 12:36

Кеширование .js файла
 
Прочитал статью http://javascript.ru/optimize/cache-versioning
и все равно не понял!
Какой самый быстрый и эффективный способ кешировать js файл?

1. Вот этот скрипт кеширует или нет ?
<html>
<head>
<script type="text/javascript" src="name.js"></script>
</head>
</html>

2.и еще один вопрос: какой самый оптимальный объем памяти для .js файла? например есть один файл 2,5 мб, надо его разбить на файлы поменьше!

B@rmaley.e><e 16.08.2011 00:32

Цитата:

Сообщение от Severtain
например есть один файл 2,5 мб, надо его разбить на файлы поменьше!

Если в Вашем проекте используется 2.5мб исходных кодов, с ним явно что-то не то.

devote 16.08.2011 02:42

Цитата:

Сообщение от B@rmaley.e><e
Если в Вашем проекте используется 2.5мб исходных кодов, с ним явно что-то не то.

это напоминает аля копи-паст :)

Severtain 16.08.2011 08:23

Ммм... Во первых это например! А во вторых для игры они могут и по 7-8 мб выходить))

B@rmaley.e><e 16.08.2011 10:47

Цитата:

Сообщение от Severtain
игры они могут и по 7-8 мб выходить

А могут и в 10кб уместиться.

Severtain 16.08.2011 11:14

никто не спорит! у меня например 84 кб получилось!
просто есть ли стандарты для размера такого файла

B@rmaley.e><e 16.08.2011 12:11

Стандартов нет, но чем больше файл, тем дольше он грузится и интерпретируется. Соответственно, если файл больше 300-500кб после сжатия, с ним явно что-то не то.
Если файл без сжатия больше 1мб, с ним что-то не то.

Severtain 16.08.2011 12:17

Спасибо! Вообщем делаю вывод:
Если файл, файл .. с ним что-то не то:))

SkyLight 16.08.2011 12:30

Разбивайте код на модули и грузите только по необходимости

Андрей38 16.08.2011 13:30

Цитата:

Сообщение от Severtain (Сообщение 120627)
Прочитал статью http://javascript.ru/optimize/cache-versioning
и все равно не понял!
Какой самый быстрый и эффективный способ кешировать js файл?

1. Вот этот скрипт кеширует или нет ?
<html>
<head>
<script type="text/javascript" src="name.js"></script>
</head>
</html>

2.и еще один вопрос: какой самый оптимальный объем памяти для .js файла? например есть один файл 2,5 мб, надо его разбить на файлы поменьше!

<script type="text/javascript" src="name.js?абракадабра"></script>
с остальным контентом в ДОМЕ точно также_ после расширения идет ?абракадабра"

melky 16.08.2011 13:32

странный тип...

тогда уж добавлять Math.random() к src скрипта

Severtain 16.08.2011 15:37

Андрей38 Спасибо!
SkyLight т.е. вызывать непосредственно из кода? и как это сделать? !

Severtain 16.08.2011 15:38

melky а что.. прикольно когда грузить хз какой файл :D

melky 16.08.2011 15:58

вас ie может не понять с таким способом

Андрей38 16.08.2011 16:15

Цитата:

Сообщение от melky (Сообщение 120858)
странный тип...

тогда уж добавлять Math.random() к src скрипта

Как это делаеться приминительно к
<script type="text/javascript" src="xxx.js?1"></script> ?
Методы переименования.что относятся к дому, здесь не работают.Но как то Вы это делаете !?

Андрей38 16.08.2011 16:18

Цитата:

Сообщение от Severtain (Сообщение 120881)
Андрей38 Спасибо!
SkyLight т.е. вызывать непосредственно из кода? и как это сделать? !

Мне только вчера самому один хороший человек ответил на это же вопрос ,и ктому же,сразу
http://javascript.ru/forum/css-html-...v-mozille.html
Ну и меня заинтересовало нейм,что Вы использовали

SkyLight 16.08.2011 18:40

Цитата:

т.е. вызывать непосредственно из кода? и как это сделать?
Для начала нужно будет продумать структуру приложения вообще и модулей в частности. А подключать внешние скрипты - например, в jQuery есть getScript, но можно поиграться и "родными" способами.

melky 16.08.2011 19:49

Цитата:

Сообщение от Андрей38 (Сообщение 120893)
Но как то Вы это делаете !?

function getScript(src){
    var a = document.createElement("script");
    a.type = "text/javascript";
*!*
    a.src = src+Math.random();
*/!*
    (document.head||document.getElementsByTagName("head")[0]).appendChild(a);
}

Severtain 16.08.2011 20:08

Спасибки за инфу всем! Вот еще проблемка! Помогите пожайлуста с вот этой темкой!! Просто не знаю воозможно ли это вообще http://javascript.ru/forum/misc/2075...-s-canvas.html

Андрей38 17.08.2011 09:54

Цитата:

Сообщение от melky (Сообщение 120943)
function getScript(src){
    var a = document.createElement("script");
    a.type = "text/javascript";
*!*
    a.src = src+Math.random();
*/!*
    (document.head||document.getElementsByTagName("head")[0]).appendChild(a);
}

ОГРОМНЕЙШЕЕ СПАСИБО ВАМ,melky !!!":thanks: :thanks: :thanks: :thanks:

x-yuri 17.08.2011 14:25

к слову, есть куча всяких loader'ов:
yepnope.js (говорят, что интегрирован в modernizr)
$script.js (twitter-версия)
http://labjs.com/
head.js
ControlJS (этот насколько я помню гугловский, но здесь его прокритиковал разработчик LAB.js)
http://requirejs.org/

Severtain 17.08.2011 14:36

x-yuri,
Спасибо! Очень полезная инфа! Сейчас будем тестить!

x-yuri 18.08.2011 16:54

ты даже можешь потом отписаться, как потестируешь ;)


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