按下后退按钮时缓存的JavaScript文件

时间:2012-03-31 02:43:55

标签: php javascript html

我正在设计一个JavaScript小部件,它将显示一个由php创建的随机广告的iframe。

每次刷新页面时,都会创建一组新的随机广告。

当用户点击广告时,他会被重定向到广告所代表的网站。

当用户使用后退按钮时,会出现问题。

由于后退按钮只显示缓存页面,因此会显示相同的广告,这是我不想要的。

由于展示广告的网站不属于我,因此我无法访问标题文件。

即使使用JavaScript重新加载功能,javascript文件仍然会被缓存。

非常感谢任何帮助。

2 个答案:

答案 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)

如果可能不等待用户按下后退按钮。在广告离开您的网站之前切换广告。