提问者:小点点

在网页上读取服务器时钟


我正在使用木偶人刮一个网站,有一个任务在特定的时间执行。我需要读取服务器时钟,这是张贴在页面上。页面上的时钟是不断变化的,我需要能够读取它,所以只要它显示“7:00:00 AM”,我的功能就会触发(不是一毫秒之前,否则我需要访问的页面将不会加载)。我也不想在早上7点以后等一秒钟,否则我可能订不到我的预约。

下面是我需要阅读的元素的html。当您在控制台中查看时,时间(html文本)会闪烁并不断变化。我可以使用page.$('.jquery_server_clock')访问元素,但我不能访问文本(时间)来检查是否是7:00 AM(因此是时候调用下一个函数了)。

有什么提示吗?解决办法?

另外,值得一提的是,我可以获得的date.now()时间比web页面上显示的服务器时间快2秒左右。

<b class="jquery_server_clock" data-ftclub="dallasathleticclub">10:00:00 AM</b>

共1个答案

匿名用户

这个代码片段可能是解决方案:https://codepen.io/karengh/pen/gznvdq

在本部

complete: function (req, textStatus) {
  var dateString = req.getResponseHeader('Date');
  if (dateString.indexOf('GMT') === -1) {
    dateString += ' GMT';
  }
  var date = new Date(dateString);
  $('#serverTime').text(date);
}

你需要查一下时间。

注意使用javascript日期函数...它们获得客户端的时间,并且可以被操纵,或者不同步,或者在完全不同的时区中