Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Хеширование файлов *.js (https://javascript.ru/forum/misc/31459-kheshirovanie-fajjlov-%2A-js.html)

lamer 08.09.2012 16:24

Хеширование файлов *.js
 
Здравствуйте, такая ситуация.
У меня на сайте скрипты некоторые подгружаються с файла, вот так:
<script type="text/javascript" src="http://domain.com/red.js"></script>


Я время от времени правлю файл red.js и стал замечать что хостер хеширует файлы и долгое время не обновляются они, стоит зайти на сайт с того же браузера но с другого ИПа все нормально становиться.

Я где то читал что можно скрипты подгружая добавлять "Math.random()" и тогда хеширования не будет.

Подскажите пожалуйста как так сформировать линк вместе с "Math.random()" ?

Magneto 08.09.2012 18:07

Не хеширует а кеширует.

onload = function () {
  var script = document.createElement('script');
       script.src = 'http://domain.com/red.js?' + Math.random();
  document.getElementsByTagName('head')[0].appendChild(script);
}

lamer 08.09.2012 19:32

Magneto, в странице есть варианты где
<script type="text/javascript" src="http://domain.com/red.js"></script>

Вставлен до и после конкретного идентификатора, без создания скрипта Math.random() возможно использовать ?

Aetae 09.09.2012 07:51

Использовать ctrl+f5, ctrl+r для принудительного обновления - самый разумный вариант.

А так:
<script>
document.write(
   '<script type="text/javascript" src="http://domain.com/red.js?',
   Math.random(),
   '"></',
   'script>'
)
</script>

lamer 10.09.2012 03:41

Aetae, спасибо это то что нужно.


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