我正在设计一个JavaScript小部件,它将显示一个由php创建的随机广告的iframe。
每次刷新页面时,都会创建一组新的随机广告。
当用户点击广告时,他会被重定向到广告所代表的网站。
当用户使用后退按钮时,会出现问题。
由于后退按钮只显示缓存页面,因此会显示相同的广告,这是我不想要的。
由于展示广告的网站不属于我,因此我无法访问标题文件。
即使使用JavaScript重新加载功能,javascript文件仍然会被缓存。
非常感谢任何帮助。
答案 0 :(得分:3)
问题是Javascript的缓存是由浏览器控制的客户端机制。因此,一种方法是使用 no-cache 标头告诉浏览器不要缓存:
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
另一种选择是通过使用Javascript添加随机数来使请求看起来独一无二:
var img.src = 'www.mysite.com/ads.php'+'?'+Math.random()*Math.random();
return $(img).load(function()
{
alert('completed!');
});
如果您使用jQuery,则为最终选项:
$.ajax({
url: 'test.html',
cache: false,
success: function(html){
$('#results').append(html);
}
});
答案 1 :(得分:0)
如果可能不等待用户按下后退按钮。在广告离开您的网站之前切换广告。