Javascript 谷歌如何检测到你在Gmail中的连接速度慢?

Javascript 谷歌如何检测到你在Gmail中的连接速度慢?,javascript,gmail,Javascript,Gmail,你知道gmail连接缓慢背后的逻辑吗?我不知道谷歌是不是这样做的(虽然这似乎是合理的),但我想做的可能是确定初始化过程的时间——例如,“文档中的某些关键元素是否在(比如)30秒内初始化”——如果不是,然后向用户建议他们的连接很慢。正如你所知,谷歌使用的语言是“这似乎比正常情况下需要更长的时间”,这对我来说意味着他们没有一个过于复杂的解决方案。以下是我想象他们是如何做到的(以非常简化的形式) // Pop an alert after 30 seconds var timeout = setTim

你知道gmail连接缓慢背后的逻辑吗?

我不知道谷歌是不是这样做的(虽然这似乎是合理的),但我想做的可能是确定初始化过程的时间——例如,“文档中的某些关键元素是否在(比如)30秒内初始化”——如果不是,然后向用户建议他们的连接很慢。正如你所知,谷歌使用的语言是“这似乎比正常情况下需要更长的时间”,这对我来说意味着他们没有一个过于复杂的解决方案。

以下是我想象他们是如何做到的(以非常简化的形式)

// Pop an alert after 30 seconds
var timeout = setTimeout(function () {
                             alert('Your connection/computer is slow!');
                         }, 30000);

// Loading logic
loadStuff();

// When done loading (if it took less than 30 seconds), 
// calling this will prevent the alert from popping up.
clearTimeout(timeout);

ping与带宽无关,而是与延迟有关。@Amokrane主机可以配置为不响应ICMP“Echo request/reply”(即
ping
)请求扫描代表性高的人,请更改标题中的“u”->“you”。可能重复@Rob 30秒等待初始化。如果服务器停止服务怎么办!!这是可以检测到的,因为初始化可能是一个相当大的数据负载,但检测它是否仍然在线只需要几个字节。我曾经查看过Gmail的来源(不是所有的,只是明显的部分),这正是Gmail所做的(超时确实是30秒)。我可能会尝试这种解决方案用于FB和相关内容。我不会为慢速连接加载这些社交插件,也不会放过那些人