我的Chrome滚动条有问题,在Mozilla上没有这样的问题。 我有几个同步ajax请求,然后在页面上附加一些信息,它们需要大约2秒才能加载。在这段时间滚动条冻结并且不可用,当ajax结束时滚动工作正常。
答案 0 :(得分:0)
当你使用同步AJAX时页面停止直到ajax结束,所以如果你想让页面不停止,必须是异步AJAX调用。
你可以在这里看到更多: Documentation AJAX W3Schools
答案 1 :(得分:0)
您所描述的问题不是浏览器行为问题。
当您发出同步请求时,表示响应的待处理代码。 由于javascript是单线程语言(现在让我们忽略web工作者), UI处理/操作也待定, 这就是浏览器或滚动条“卡住”的原因。
它在Firefox上运行的原因是不推荐使用同步调用(顺便说一句,因为“卡住”行为),而你实际在做的是异步请求; 您可以在此处详细了解:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Synchronous_and_Asynchronous_Requests
答案 2 :(得分:0)
Javascript完全是单线程的。
如果您进行多次AJAX调用,您将收到每个响应 一旦服务器发送它;订单取决于时间量 它需要服务器发送每个回复。
如果您的代码在服务器回复时仍在运行,则回复将会执行 只有在代码完成后才能处理。
您应该尝试在单个请求中加载所有数据。
来源:SLaks
我可能会在这里碰壁,在其他编程语言中你可以为这样的连接启动一个新的线程,如果你运行多线程(有点像层)你的界面保持原样/是。