Простой способ сделать это - использовать два файла:
- A
userscript.user.js
с заголовками GM, загружающими script.js
. Вы можете заставить его очищать кэш каждый день (указать загрузку script.js
с добавленной случайной строкой запроса)
script.js
, который содержит фактический скрипт.
Например, я сделал это здесь
//#!userscript.user.js
// ==UserScript==
//GM headers
// ==/UserScript==
(function(){
var d=new Date();
var script = document.createElement("script");
script.type = "text/javascript";
script.src="script.js?purge="+d.getMonth()+""+d.getDay(); //appends a new query string every day. This evades browser cache
document.body.appendChild(script); //you can append to `head` as well, I used body here sine I needed jQuery already loaded
})();
Скрипт загружает script.js?purge=xyz
, где xyz
зависит от даты. Строка запроса на очистку гарантирует, что скрипт кэшируется только на один день и не более - к следующему дню он будет загружен заново. Для разработки лучше использовать "script.js?purge="+Math.random()
. Если скрипт находится на вашей локальной машине, вам не нужно беспокоиться о кеше для себя.
Теперь, если вы внесете изменение в script.js
, к завтрашнему дню все будут использовать обновленную версию.