10

我在 ajax 调用后(更新内容后)使用 JavaScript 重定向。我试过下面的方法,都很慢。在网络选项卡中,它显示等待时间约为4.445秒。(这对客户来说非常令人沮丧:()

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

在逐页浏览网站时(通过鼠标点击),它的等待时间是350ms450ms

为什么呢 ?有什么我错过的或任何其他更快的方式吗?

更新:

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

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

在此处输入图像描述

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

在此处输入图像描述

4

2 回答 2

0

我已经尝试了评论中提供的所有解决方案,谢谢大家。根据@YanjunLin 的评论,我已经尝试click直接使用 jQuery 而不是window基于对象的重定向。它奏效了。

但是,对于我的应用程序,单击方法比其他方法快 60-70%。

以后任何人来这里尝试元素单击($('element selector').click())方法,我希望这也对你有用。

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

更新:

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

于 2016-08-08T11:02:24.403 回答
0

我相信您正在遭受 Web 服务器缓存的困扰。您可以尝试通过 META 标签更改缓存设置,但您会失去缓存优势。我做了一个简单的技巧,通常在所有情况下都有帮助。通过添加时间戳使您提交的 URL 独一无二。my_app.php?ts=1503710749 这种独特性应该会导致您的 Web 服务器立即处理。

于 2017-08-26T01:36:00.830 回答