首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对Vivaldi的Ajax调用需要越来越长的时间才能重新加载页面。

对Vivaldi的Ajax调用需要越来越长的时间才能重新加载页面。
EN

Stack Overflow用户
提问于 2022-03-09 19:00:13
回答 1查看 52关注 0票数 0

在我的Javascript/jQuery应用程序中,我进行了如下Ajax调用:

代码语言:javascript
复制
var t1 = new Date().getTime();
$(target).load(url,function() {
  var t2 = (new Date().getTime() - t1) / 1000;
  console.log("ajax call took "+t2+" secs")
});

在Vivaldi浏览器中,每次调用代码时调用的时间越来越长:

代码语言:javascript
复制
ajax call took 0.917 secs
ajax call took 1.013 secs
ajax call took 1.179 secs
ajax call took 1.263 secs
ajax call took 1.3 secs
ajax call took 1.668 secs
...

...until它需要几秒钟。

当我手动刷新页面时,时间似乎被重置了。

问题不在服务器端,因为服务器端代码所消耗的时间不会改变。

而且,在Chrome、Firefox或Edge上也不会发生这种情况。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2022-03-11 13:23:45

我想我已经找到了问题的真正根源。在调用.load()之前,我将url推到浏览器的会话历史堆栈上。为了清楚起见,我在代码中省略了这一行,但现在看来这是问题的根源:

代码语言:javascript
复制
window.history.pushState({url:url}, null, url);
var t1 = new Date().getTime();
...

如果我注释掉pushState()行,那么ajax调用的时间是不变的,就像预期的那样。

同样,这种情况只发生在Vivaldi身上,这似乎是一个真正的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71414706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档