Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.11.2011, 14:30
Новичок на форуме
Отправить личное сообщение для shurup777 Посмотреть профиль Найти все сообщения от shurup777
 
Регистрация: 02.02.2010
Сообщений: 3

динамическое подключение js
Пол дня уже ищу решение проблемы, не могу найти...
Суть такова: необходимо после загрузки страницы динамически подгружать js код. Тут в общем проблем нет, хоть его ажаксом получай, eval-ом обрабатывай, хоть в страницу с тегом script пихай, все работает отлично. Но, тк ожидается хорошая нагрузка на ресурс, хотелось бы кэшировать все это дело.
Вот тут проблема и вылезает. Если я создаю в заголовке <script src=...>, где src кажет на мой скрипт, он подключается, выполняется, НО! в его url все браузеры добавляют параметр вида "?_=12345...", где число рандомное. Сделано это, я так понимаю, специально, чтобы скрипт не кэшировался (при этом когда так же подключаются к примеру css-ки, ничего подобного не замечаю). И тк это делается во всех браузерах, я так подозреваю, что это должно быть оговорено в каких-нибудь стандартах, но никакой информации чета по этому поводу не могу найти.
Так вот вопрос, как сообщить браузеру, что я все же хочу его кешировать? В заголовке Last-Modified отправляю, но он похоже по url-лу сам решает, что нужно заново запрашивать файл.
Ну и еще, при всем этом сам тег <script> в DOM-е документа тоже не появляется, но ет уже не столь важно, код исполнился, больше мне от него особо ничего не нужно, но все же, для полноты картины, не помешал бы...
Ответить с цитированием
  #2 (permalink)  
Старый 30.11.2011, 14:40
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от shurup777
в его url все браузеры добавляют параметр вида "?_=12345...", где число рандомное.
Это не браузеры добавляют, а функция, которой вы создаёте этот script.

Сообщение от shurup777
Ну и еще, при всем этом сам тег <script> в DOM-е документа тоже не появляется
Появляется.
Ответить с цитированием
  #3 (permalink)  
Старый 30.11.2011, 14:48
Новичок на форуме
Отправить личное сообщение для shurup777 Посмотреть профиль Найти все сообщения от shurup777
 
Регистрация: 02.02.2010
Сообщений: 3

ну код такой:

log($('head script').length);
var code = '<script type="text/javascript"'
    + ' src="' + url + '"'
    + '></script>\n';
$('head').append(code);
log($('head script').length);


в лог в обоих случаях одно и то же кол-во тегов возвращает, следовательно, если я правильно понимаю, тег явно не добавился (но код скрипта из него нормально выполнился), ну и мой url содержит строку вида "/_blockjs/borda", а в отладчиках браузеров, и на сервере кажет строку вида "http://tux.nsk.ru:8080/_blockjs/borda?_=1322649986270"
Ответить с цитированием
  #4 (permalink)  
Старый 30.11.2011, 15:01
Новичок на форуме
Отправить личное сообщение для shurup777 Посмотреть профиль Найти все сообщения от shurup777
 
Регистрация: 02.02.2010
Сообщений: 3

хм, неужель ет jquery ет добавлял, ща на чистом жаваскрипте сделал, вроде нормально вставилось, но загрузку скрипта не сделал, ладно, спасибо, причина ясна, буду копать дальше
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подключение функции js по ссылке DmitryT Элементы интерфейса 2 06.06.2011 08:34
Подключение файлов js Владимир Новицкий Общие вопросы Javascript 4 19.02.2011 09:32
Вопрос про подключение js prog90 Общие вопросы Javascript 4 03.01.2011 18:48
подключение js Basonsan Javascript под браузер 13 08.11.2009 21:07
подключение стороннего js скрипта friend Общие вопросы Javascript 2 24.05.2008 19:51