Forces the loading of UserScript links without caching to ensure the latest version is always fetched.
Ajankohdalta
// ==UserScript==
// @name No-Cache UserScript Link Loader
// @namespace http://tampermonkey.net/
// @version 1.0.1
// @description Forces the loading of UserScript links without caching to ensure the latest version is always fetched.
// @author CY Fung
// @match https://greasyfork.org/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=greasyfork.org
// @grant none
// @run-at document-start
// @unwrap
// @allFrames
// @inject-into page
// @license MIT
// ==/UserScript==
(function () {
'use strict';
let f0 = null;
/*
let f0 = () => {
if (!cid) return;
if (!document || !document.head) return;
let meta = document.createElement('meta');
meta.setAttribute('http-equiv', 'expires');
meta.setAttribute('content', '0');
document.head.appendChild(meta);
clearInterval(cid);
f0 = null;
}
let cid = setInterval(f0, 1);
*/
const rand4 = () => Math.floor(Math.random() * 8888 + 1000);
const generateLink = async (href) => {
let link = document.createElement("link");
link.rel = "prefetch";
link.setAttribute('crossorigin', "anonymous");
link.setAttribute('as', "script");
link.setAttribute('fetchpriority', 'high');
link.href = href;
document.head.appendChild(link);
}
const f = () => {
let p = document.querySelectorAll('a[href*="scripts/"][href$=".user.js"]:not([no-cache-95])');
for (const s of p) {
s.setAttribute('no-cache-95', '');
f0 ? f0() : null;
let suffix = '?' + rand4() + '#' + rand4();
let href1 = s.href + suffix;
let href2 = s.getAttribute('href') + suffix;
generateLink(href1);
href1 === href2 || generateLink(href2);
}
if (document.readyState === 'complete') return;
requestAnimationFrame(f);
};
requestAnimationFrame(f);
// Your code here...
})();