从客户端应用程序获取 ping 时间



我想在 Angular2 仪表板应用程序中包含一些 ping 时间。我无法做一些简单的事情,例如

this.http.get('https://www.google.com').subscribe((res) => {
  Logger.debug('my response:', res);
});

因为 CORS 问题。我没有一种简单的方法来在服务器上构建可以提供这些的 api 端点,因为没有真正的"服务器"。该应用程序只是在localhost上提供的文件。

我没有能力向主机添加代码(一个简单的python节点可以解决我的所有问题(,所以我想知道是否有办法仅从客户端应用程序内从各种IP地址获取ping时间。

您需要为此使用具有 CORS 标头的服务器。

或者,如 Rob 的评论中所述,您可以使用图像:

let t0 = performance.now()
let img = new Image()
img.onload = function() {
  alert(`${(performance.now() - t0).toFixed(2)} ms`)
}
img.src = 'https://upload.wikimedia.org/wikipedia/commons/c/ce/Transparent.gif'

这将从维基百科加载 1x1 GIF 图像。解析的影响可以忽略不计,但仍然不是 100% 准确的。但这是我能想到的唯一方法,没有任何服务器端组件可以 ping

最新更新