Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.10.2013, 10:42
Кандидат Javascript-наук
Отправить личное сообщение для Mateus Посмотреть профиль Найти все сообщения от Mateus
 
Регистрация: 06.12.2012
Сообщений: 100

Подключение script один раз
Доброго времени суток.
Проблема в том, что нужно реализовать на динамической страничке подключение скрипта только один раз. Т.е. я все время делаю

include 'file.php';
echo '<script type="text/javascript" src="script.js"></script>';


Какую можно поставить проверку, что бы подключать скрипт только один раз?
И как можно установить кэширование/gzip скриптов. Заранее благодарен.
Ответить с цитированием
  #2 (permalink)  
Старый 08.10.2013, 10:46
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,206

Сообщение от Mateus
Какую можно поставить проверку, что бы подключать скрипт только один раз?
1. Фиксируй где-то на сервере, что скрипт уже подключался.
2. Меняй в корне алгоритм формирования страницы
Ответить с цитированием
  #3 (permalink)  
Старый 08.10.2013, 10:54
Кандидат Javascript-наук
Отправить личное сообщение для Mateus Посмотреть профиль Найти все сообщения от Mateus
 
Регистрация: 06.12.2012
Сообщений: 100

У меня к примеру сейчас стоит проверка через сессию, т.е.
if ($_SESSION['script']!=1){
// Добавляю скрипт
$_SESSION['script']=1;}


Как можно на сервере зафиксировать передачу скрипта?


п.с. Может быть добавить проверку в самом javascript? Т.е.

if (abcd!=1){
// добавляем весь код
abcd=1;
}

Ваше мнение?

Последний раз редактировалось Mateus, 08.10.2013 в 10:56.
Ответить с цитированием
  #4 (permalink)  
Старый 08.10.2013, 10:58
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,206

Сообщение от Mateus Посмотреть сообщение
У меня к примеру сейчас стоит проверка через сессию, т.е.
if ($_SESSION['script']!=1){
// Добавляю скрипт
$_SESSION['script']=1;}
Тогда не понятно почему он у тебя подключается более одного раза...
Ответить с цитированием
  #5 (permalink)  
Старый 08.10.2013, 11:05
Кандидат Javascript-наук
Отправить личное сообщение для Mateus Посмотреть профиль Найти все сообщения от Mateus
 
Регистрация: 06.12.2012
Сообщений: 100

Не подгружается в случае, если пользователь ходит по одному модулю, т.е. site.com/page/1
site.com/page/2 и т.д.

Но в случае если переходит к другому модулю, то if вообще игнорируется, хотя значение в сессии по прежнему 1. Я попробовал добавить проверку в сам javascript и вроде работает. Буду тестировать, спасибо за помощь.
Ответить с цитированием
  #6 (permalink)  
Старый 08.10.2013, 11:14
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Mateus
И как можно установить кэширование/gzip скриптов. Заранее благодарен.
Если сервак - apache, то можно прописать соотвествующие правила в .htaccess
Можно добавить в проект минимизатор скриптов/стилей. Он сам гзипует, выставляет заголовки, объединяет, режет и прочее.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 08.10.2013, 11:18
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,206

Сообщение от Mateus
если переходит к другому модулю
Х/з, что в ПХП значит "модуль"... Но суть сессии - хранить данные сеанса пока он не завершен или не истек ее таймаут...
Ответить с цитированием
  #8 (permalink)  
Старый 08.10.2013, 11:25
Кандидат Javascript-наук
Отправить личное сообщение для Mateus Посмотреть профиль Найти все сообщения от Mateus
 
Регистрация: 06.12.2012
Сообщений: 100

Всё работает правильно и сессия не работа из-за того, что подгружаемые ajaxom файл был с ошибкой. В пхп ничего модулем наверное не называется, не силен в дефинициях. В моём случае модулем назвал template.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как после ресайза вызвать обработчик один раз? Nanto Events/DOM/Window 1 23.08.2013 19:55
Клонирование DOM объекта или как вставить один div много раз Jmunb Общие вопросы Javascript 7 04.04.2013 14:58
один javaскрипт код на странице много раз Animemia Общие вопросы Javascript 23 04.02.2013 21:18
Подключение скриптов только один раз IndigoHollow Общие вопросы Javascript 3 03.04.2012 09:51
Почему функция срабатывает один раз? Bogdan808 Javascript под браузер 4 06.09.2010 23:41