Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.01.2012, 19:46
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

СБОРЩИК СКРИПТОВ в один файл!!!!!
Что делает:
Собирает скрипты в один файл и отдает его клиенту. таким образом достигается ускорение загрузки странички так как не тратится время на запросы для каждого скрипта. Потом браузер кэширует этот большой скрипт.

Скрипты подключаем так:
Пути относительно местонахождения файла JSCompliter.php. разделять пути к скриптам точкой с запятой.

<script type="text/javascript"
	src="JSCompliter.php?scripts=
			jquery-1.7.js;
			preset.js;
			js/libs/jquery.animate-shadow-min.js;
			js/libs/jquery.transform.js;
			js/libs/jquery.easing.1.3.js;
			js/libs/jquery.mousewheel.min.js;
			js/libs/jquery.FX.js;
			js/libs/jquery.rclick.js;
			js/libs/jquery.scrollbar.js;
			js/libs/jquery.UI.js;
			js/libs/jCanvaScript.js;
			windows.js;
			js/parseTegs.js;
			widgets.js;
	"></script>





собственно код JSCompliter.php
<?php
/**
 * @author Maxmaxmaximus
 * @version 1.0
 */
Header("content-type: application/x-javascript");

//список адресов скриптов
$scripts = split(';', $_GET['scripts']);
//последнее изменение
$max = 0;
//для каждого элемента списка
for ($i = 0; $i < count($scripts); $i++) {
	$url = $scripts[$i];
	$ThisMax = filemtime($url);
	//определяем последнее изменение одного из скриптов
	if($ThisMax > $max){
		$max = $ThisMax;
	}
}
//если обнаружена разница во времени
if(file_get_contents('version.txt', NULL, NULL, 0, 10) != $max ||
//или в запросе
$_GET['scripts'] != file_get_contents('version.txt', NULL, NULL, 10))
{
	//пересобираем
	for ($i = 0; $i < count($scripts); $i++) {
		$url = $scripts[$i];
		$final .= file_get_contents($url);
	}
	//возвращаем собранный скрипт
	echo $final;
	//записываем последнее изменение
	file_put_contents('version.txt', $max . $_GET['scripts']);
	//кэшируем скрипт
	file_put_contents('compliteScript.js', $final);
	return true;
}
else//иначе
{
	//возвражаем готовую копию
	echo file_get_contents('compliteScript.js');
}
?>

Последний раз редактировалось Livaanderiamarum, 01.01.2012 в 19:49.
Ответить с цитированием
  #2 (permalink)  
Старый 01.01.2012, 19:51
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Livaanderiamarum
//кэшируем скрипт
file_put_contents('compliteScript.js', $final);
всё по прежнему-читай маны
Ответить с цитированием
  #3 (permalink)  
Старый 01.01.2012, 19:54
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от dmitriymar Посмотреть сообщение
всё по прежнему-читай маны
не понял
Ответить с цитированием
  #4 (permalink)  
Старый 01.01.2012, 19:57
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Livaanderiamarum
не понял
всё как всегда-куча бреда и основы,основы....

Последний раз редактировалось dmitriymar, 01.01.2012 в 20:00.
Ответить с цитированием
  #5 (permalink)  
Старый 01.01.2012, 20:02
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от dmitriymar Посмотреть сообщение
всё как всегда-куча бреда и основы,основы....
я тебя не понял, в моем скрипте что-то не так?
Ответить с цитированием
  #6 (permalink)  
Старый 01.01.2012, 20:04
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Livaanderiamarum
я тебя не понял, в моем скрипте что-то не так?
а когда у тебя в скриптах всё было так?
Ответить с цитированием
  #7 (permalink)  
Старый 01.01.2012, 20:14
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от dmitriymar Посмотреть сообщение
а когда у тебя в скриптах всё было так?
я по моему вопрос задал).
п.с. ты хочешь сказать я плохой программист?

Последний раз редактировалось Livaanderiamarum, 01.01.2012 в 20:16.
Ответить с цитированием
  #8 (permalink)  
Старый 01.01.2012, 20:36
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Livaanderiamarum
п.с. ты хочешь сказать я плохой программист?
дак я и не говорил что ты программист
Сообщение от Livaanderiamarum
я по моему вопрос задал)
ответ прост-в очередной раз бред написан
Ответить с цитированием
  #9 (permalink)  
Старый 01.01.2012, 21:38
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Я тоже считаю, что написано фигово.

Коль скоро тов. Livaanderiamarum всё знает и любит тестировать окружающих на знание чего-либо, то вот тест для всех желающих:
С первого прочтения найти фатальный промах. Кто не найдёт — тому лучше не писать серьёзных приложений. :-)
Ответить с цитированием
  #10 (permalink)  
Старый 01.01.2012, 21:56
Аватар для Nekromancer
Профессор
Отправить личное сообщение для Nekromancer Посмотреть профиль Найти все сообщения от Nekromancer
 
Регистрация: 06.05.2009
Сообщений: 1,163

B@rmaley.e><e,
я не знаю php, но вроде как "header" пишется с маленькой буквы, да и mime type кривой. Может в php конечно пофиг на регистр, но всё же.
__________________
Нужно равняться на лучших, а не оправдываться за счёт худших.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Внешний css файл faiq (X)HTML/CSS 11 08.10.2017 03:18
Как можно достать файл из <input type="file"/> преобразовать файл в base 64 maxcab Events/DOM/Window 2 28.06.2011 22:52
не прикрепляется файл .js 4aineg Элементы интерфейса 10 22.03.2010 20:29
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 11:41
JavaScript как файл закодировать base64? Трактор AJAX и COMET 3 10.06.2008 13:22