为什么location.reload()比其他页面重载方法慢?

时间:2013-12-31 11:47:40

标签: javascript

几个月前,我发布了this answer关于如何通过JavaScript刷新页面的信息。

我也提供了JSFIDDLE DEMO

var solutions = [
    function () { location.reload(); },
    function () { history.go(0); },
    function () { location.href = location.href; },
    function () { location.href = location.pathname; },
    function () { location.replace(location.pathname); },
    function () { location.reload(false); },
];

$("[data-func]").on("click", function () {
    solutions[parseInt($(this).attr("data-func"))]();
});

Someone注意到location.reload()比其他方法慢。现在我可以看到同样的事情。

为什么慢?为什么其他人更快?

2 个答案:

答案 0 :(得分:4)

一直在寻找这个,我能找到的最佳参考实际上是在w3schools.com上

http://www.w3schools.com/jsref/met_loc_reload.asp

  

location.reload( forceGet

     

forceGet

     

false - 默认。从缓存中重新加载当前页面。

     

true - 必须从服务器重新加载当前页面

答案 1 :(得分:0)

从Mozilla开发网络我想.reload方法可能会再次从服务器获取所有文件。这类似于 CTRL + F5 重新加载。

例如,location.href只是跟随可以缓存的链接。至于MDN定义,行为没有明确定义,所以我猜它的浏览器和案例特定的行为。