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

时间:2017-03-16 16:44:45

标签: javascript angular cors client

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

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

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

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

1 个答案:

答案 0 :(得分:0)

您需要使用具有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通。