我有一个简单的请求,使用下面的Javascript代码刷新页面:
function tb_closeRefresh() {
window.location.reload(true);
}
这在IE中运行良好,但Firefox只获取缓存版本,需要用户按F5才能获得最新版本的页面。
我添加了元标记:
<meta http-equiv="Pragma" content="no-cache">
但这没有用。
任何想法???
答案 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
它应该适用于所有浏览器,包括移动设备。