Да се ​​деактивира ли блокирането на кеша в динамично свързани външни Javascript файлове?

При зареждане на съдържание чрез AJAX, което съдържа външно свързан Javascript файл или при използване на извикване на функция jQuery.getScript(), свързаните Javascript файлове се добавят с параметър за прекъсване на кеша, който предотвратява кеширането на файла от браузъра.

Така че, вместо да пише нещо като <script src="/js/foo.js">, той пише нещо като <script src="/js/foo.js?_=ts2477874287">, карайки скрипта да се зарежда нов всеки път.

Има ли начин да деактивирате това и файлът да се кешира, когато се зареди?


person Highway of Life    schedule 04.10.2011    source източник


Отговори (1)


Не знам за getScript, но cache е параметър, който можете да зададете в карта с параметри .ajax(). По подразбиране е false за скриптове, но можете да го обърнете на true. Веднъж false, той няма да добави низ на заявка за разбиване на кеша.

[актуализирано на коментар]

person Greg Pettit    schedule 04.10.2011
comment
Мисля, че имате вярно/невярно в обратен ред. По подразбиране за кеша е true, false за dataType 'script' и 'jsonp'. По този начин, обръщайки го на true, трябва да избягва параметъра за прекъсване на кеша? -- Изглежда нямат начин да направят това в getScript и за съжаление все още не ми помага да разбера как да заменя общи <script> тагове (т.е. не се зареждат чрез ajax повикване), така че единственото нещо, което мога в момента мисля, че ще трябва да използвам jQuery.ajax с кеш, зададен на true за цялото динамично заредено съдържание със свързани външни JS файлове. - person Highway of Life; 04.10.2011
comment
Да, имах го направо в главата си, но го записах обърнато. Благодаря! Не успявам да разбера какво имате предвид за общи скриптови тагове, но това вероятно зависи от мен. - person Greg Pettit; 04.10.2011
comment
Не, зависи от мен. Не бях ясен. Да приемем, че използвам jquery.load('mypage.html'); mypage.html съдържа HTML, както и свързан скрипт: <script src="./js/foo.js"> но дори и той получава параметъра за премахване на кеша. - person Highway of Life; 05.10.2011
comment
О, това вече е интересно. Уви, не знам нищо за това. - person Greg Pettit; 05.10.2011