在Firefox中使用Javascript强制页面刷新

时间:2009-10-08 10:21:04

标签: javascript firefox refresh

我有一个简单的请求,使用下面的Javascript代码刷新页面:

function tb_closeRefresh() {
    window.location.reload(true);
}

这在IE中运行良好,但Firefox只获取缓存版本,需要用户按F5才能获得最新版本的页面。

我添加了元标记:

<meta http-equiv="Pragma" content="no-cache"> 

但这没有用。

任何想法???

7 个答案:

答案 0 :(得分:11)

您可以调用相同的页面,但通过更改查询字符串让它看起来像是其他页面:

window.location.href = "index.html" + "?" + Date.parse(new Date());

这适用于每个浏览器。您可以通过从location.href中提取当前页面来改进它。

修改

如果您已有现有的查询字符串,则必须使用& ? window.location.href = "product.aspx?id=prod" + "&" + Date.parse(new Date()); {/ 1>

{{1}}

答案 1 :(得分:9)

如果您想要刷新,可以将window.location重置为window.location

window.location = window.location

分配window.location将执行重定向,并且由于window.location返回当前位置,因此上述语句将充当重定向。

答案 2 :(得分:2)

function page_reload() 
{ 
   window.location = 'http://domain.com/page.php'; 
}

<a href="javascript:history.go(0);">Click here to refresh the page</a>

答案 3 :(得分:1)

我认为Firefox不支持重新加载,您应该使用:

var myUrl = window.location;
window.location.replace(myUrl)

我发现这适用于IE,Apple Safari和Firefox。它似乎不适用于Mac上的Firefox。

答案 4 :(得分:0)

也许这些可行?:

<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Cache-control" content="no-store">

答案 5 :(得分:0)

您可以将以下代码用于解决您的问题

window.location.href = window.location.href + '?refresh';

但你需要使用&#34; Pushstate&#34;要更新网址,请参阅此处了解详情 window.history.pushState refreshing the browser

答案 6 :(得分:0)

文档说要使用:

class User < ActiveRecord::Base
    devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable
    has_many    :pins
end

https://developer.mozilla.org/en-US/docs/Web/API/Location/reload

它应该适用于所有浏览器,包括移动设备。