我需要编写一个Greasemonkey脚本,它会阻止Firefox缓存某些页面。这有可能吗?
我知道可以使用
重新加载页面window.location.reload(true)
- 但是当从缓存加载页面时,脚本甚至不会运行,即使它运行,我怎么知道该页面是从缓存而不是从URL加载的?
我知道添加
<meta http-equiv="Cache-control" content="No-Cache">
到页面的HTML可以解决问题,但只在初始加载时进行解析,并通过GM添加它不起作用...
那么,我该如何实现呢?是否可以与GM一起使用?
答案 0 :(得分:1)
您无法阻止页面被缓存,但您可以做下一件最好的事情并添加缓存破坏程序。
http://www.adopsinsider.com/ad-ops-basics/what-is-a-cache-buster-and-how-does-it-work/
function() {
// var url = window.location.href;
var url = "http://z.invalid?cachebuster=10";
var bits = url.split('?');
var newUrl = bits[0];
newUrl += "?cachebuster=" + Math.random()*10000000000000000;
window.location.href = newUrl;
}