使用window.location.href或.assign或.reload时等待时间很长

时间:2016-02-26 07:28:33

标签: javascript redirect window.location location-href

我在ajax调用之后使用JavaScript重定向(在更新内容之后)。我试过以下方法,都很慢。在“网络”标签中,它显示等待时间大约为 4.44 5 秒。 (这对客户来说非常令人沮丧:()

window.location.assign(to_redirect);
window.location.replace(to_redirect);
location.href= to_redirect; 
window.location.href= to_redirect; 
window.location = to_redirect; 

W 在页面之间浏览网站(点击鼠标),等待时间 350ms 450ms

为什么会这样?有什么我错过的或任何其他方式更快?

UPDATE:

根据评论者的要求,下面是截图。

点击页面链接,正常方式。

enter image description here

保存数据并使用JavaScript方式重定向。

enter image description here

2 个答案:

答案 0 :(得分:0)

我已经尝试了评论中提供的所有解决方案,感谢所有人。 根据@YanjunLin的评论,我直接用jQuery而不是click基于对象的重定向尝试了window ing元素。它起作用了。

然而,点击方法比我的应用程序的其他方法快60-70%。

将来的任何人都来到这里尝试元素点击($('element selector').click())方法,我希望这对你也有用。

请注意,它取决于您的应用程序的体系结构。对于您的应用程序,Window.location.reload/assign等可能会更快。但你可以尝试这个解决方案。

更新

根据评论prefetching,如果要在每个页面加载时加载许多静态资源,这也是相当重要的因素。

答案 1 :(得分:0)

我相信您的网络服务器正在缓存。您可以尝试通过META标记更改缓存设置,但是会丢失缓存优势。我做的一个简单的技巧通常在所有情况下都有帮助。通过向其添加时间戳,使您提交的URL唯一。 my_app.php?TS = 1503710749 这种唯一性应该会导致您的Web服务器立即处理。