如何使用JavaScript刷新页面?


当前回答

下面是一些代码行,您可以使用jQuery重新加载页面。

它使用jQuery包装器并提取本地dom元素。

如果您只想在代码上获得jQuery的感觉,而不关心代码的速度/性能,请使用此选项。

只需从1到10中选择适合您的需求,或者根据模式和之前的答案添加更多内容。

<script>
  $(location)[0].reload(); //1
  $(location).get(0).reload(); //2
  $(window)[0].location.reload(); //3
  $(window).get(0).location.reload(); //4
  $(window)[0].$(location)[0].reload(); //5
  $(window).get(0).$(location)[0].reload(); //6
  $(window)[0].$(location).get(0).reload(); //7
  $(window).get(0).$(location).get(0).reload(); //8
  $(location)[0].href = ''; //9
  $(location).get(0).href = ''; //10
  //... and many other more just follow the pattern.
</script>

其他回答

这适用于所有浏览器:

location.reload();

这里所有的答案都很好。由于问题指定了如何使用jquery重新加载页面,我只是想为未来的读者添加更多内容。

jQuery是一个跨平台JavaScript库,旨在简化HTML的客户端脚本。~维基百科~

因此,您将了解jquery或jquery的基础是基于javascript的。因此,在简单的事情上,使用纯javascript要好得多。

但如果您需要jquery解决方案,这里有一个。

$(location).attr('href', '');

使用location.reload()。

例如,要在单击id为“something”的元素时重新加载:

$('#something').click(function() {
    location.reload();
});

reload()函数接受一个可选参数,该参数可以设置为true,以强制从服务器而不是缓存重新加载。该参数默认为false,因此默认情况下页面可以从浏览器的缓存中重新加载。

具有不同缓存相关行为的三种方法:

location.reload(true)在实现location.reload()的forcedReload参数的浏览器中,通过获取页面及其所有资源(脚本、样式表、图像等)的新副本来重新加载。不会从缓存中提供任何资源-从服务器获取新副本,而无需发送任何副本(如果修改后或没有与请求中的标头匹配)。相当于用户在可能的情况下在浏览器中进行“硬重新加载”。请注意,Firefox(请参阅MDN)和Internet Explorer(请参阅MSDN)支持将true传递到location.reload(),但不受普遍支持,也不是W3 HTML 5规范、W3 HTML 5.1草案规范和WHATWG HTML生活标准的一部分。在不支持的浏览器中,如Google Chrome,location.reload(true)的行为与location.reload()相同。location.reload()或location.reload(false)重新加载页面,获取页面HTML本身的新的、未缓存的副本,并对浏览器缓存的任何资源(如脚本)执行RFC 7234重新验证请求,即使它们是新的。RFC 7234允许浏览器在不重新验证的情况下为它们提供服务。据我所知,在执行location.reload()调用时,浏览器应该如何使用其缓存并没有具体说明或记录;我通过实验确定了上述行为。这相当于用户只需按下浏览器中的“刷新”按钮。location=位置(或无限多其他可能涉及指定位置或其财产的技术)仅当页面的URL不包含fragid/hashbang时才有效!重新加载页面,而无需重新蚀刻或重新验证缓存中的任何新资源。如果页面的HTML本身是新的,这将重新加载页面,而不执行任何HTTP请求。这相当于(从缓存角度)用户在新选项卡中打开页面。但是,如果页面的URL包含哈希,则这将无效。同样,据我所知,这里的缓存行为没有具体说明;我通过测试确定了这一点。

总之,您希望使用:

location=缓存的最大使用位置,只要页面的URL中没有哈希,在这种情况下,这将不起作用location.reload(true)在不重新验证的情况下获取所有资源的新副本(尽管它不受普遍支持,并且在某些浏览器(如Chrome)中的行为与location.reloadlocation.reload()忠实地再现用户单击“刷新”按钮的效果。

您可能想使用

location.reload(forceGet)

forceGet是一个布尔值,也是可选的。

默认值为false,从缓存中重新加载页面。

如果您希望强制浏览器从服务器获取页面,以清除缓存,请将此参数设置为true。

或者只是

location.reload()

如果您想快速方便地使用缓存。