使用 window.location.href 或 .assign 或 .reload 时等待时间很长
Waiting time is high when using window.location.href OR .assign or .reload
我在 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 .
为什么会这样?有什么我错过的或任何其他更快的方法吗?
更新:
根据评论者的要求,下面是屏幕截图。
点击页面link,正常方式。
保存数据并使用 JavaScript 方式重定向后。
我已经尝试了评论中提供的所有解决方案,感谢大家。
根据@YanjunLin 的评论,我尝试 click
ing 元素直接使用 jQuery 而不是 window
基于对象的重定向。它奏效了。
但是点击方法比我的应用程序的其他方法快 60-70%。
以后有谁来这里试试元素点击($('element selector').click()
)的方法,希望对你也有用。
请注意,这取决于您的应用程序的体系结构。 Window.location.reload/assign
等可能对您的应用程序来说更快。但是你可以试试这个解决方案。
更新:
根据评论,如果您在每次页面加载时要加载许多静态资产,prefetching
也是一个重要因素。
我相信您正在为您的网络服务器缓存而苦恼。您可以尝试通过 META 标记更改缓存设置,但您会失去缓存的好处。我有一个简单的技巧,通常在所有情况下都有帮助。通过向其添加时间戳,使您提交的 URL 独一无二。 my_app.php?ts=1503710749
这种唯一性应该会导致您的 Web 服务器立即处理。
我在 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 .
为什么会这样?有什么我错过的或任何其他更快的方法吗?
更新:
根据评论者的要求,下面是屏幕截图。
点击页面link,正常方式。
保存数据并使用 JavaScript 方式重定向后。
我已经尝试了评论中提供的所有解决方案,感谢大家。
根据@YanjunLin 的评论,我尝试 click
ing 元素直接使用 jQuery 而不是 window
基于对象的重定向。它奏效了。
但是点击方法比我的应用程序的其他方法快 60-70%。
以后有谁来这里试试元素点击($('element selector').click()
)的方法,希望对你也有用。
请注意,这取决于您的应用程序的体系结构。 Window.location.reload/assign
等可能对您的应用程序来说更快。但是你可以试试这个解决方案。
更新:
根据评论,如果您在每次页面加载时要加载许多静态资产,prefetching
也是一个重要因素。
我相信您正在为您的网络服务器缓存而苦恼。您可以尝试通过 META 标记更改缓存设置,但您会失去缓存的好处。我有一个简单的技巧,通常在所有情况下都有帮助。通过向其添加时间戳,使您提交的 URL 独一无二。 my_app.php?ts=1503710749 这种唯一性应该会导致您的 Web 服务器立即处理。