Microsoft Edge“意外调用方法或属性访问”toLocaleDateString

时间:2016-10-17 11:39:14

标签: javascript microsoft-edge

我有一段Javascript代码,上面写着

var timeStamp = new Date().toLocaleTimeString()

它已经工作了几个月。然后,昨天(2016年10月16日),运行该代码的用户引发了错误

  

意外调用方法或属性访问

为此,以及使用toLocaleDateString的类似行。

该用户似乎正在运行Microsoft Edge / Windows 10.他们说过去他们已成功访问该网站。用户代理字符串

Mozilla / 5.0(Windows NT 10.0)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 51.0.2704.79 Safari / 537.36 Edge / 14.14393

与我的Edge / Windows 10相同,它可以正常工作。

他们显然启用了JavaScript执行,因为代码随后调用了onerror代码,该代码将JS遇到的错误副本写入服务器日志文件中,但我无法理解为什么我们会抛出原始错误。在我的系统上,新的Date()。toLocaleDateSTring()提供了预期的结果(我知道结果中包含的未打印字符)

任何人都知道在这个网站上发生了什么让它在这里失败了吗?

更多信息:我设法在目标用户的系统上运行一些测试JavaScript,并让他们向我发送结果。

var dateobj = new Date()

dateobj.toString()包含一个带有时间和日期的合理格式的字符串。

dateobj.toLocaleTimeString()

失败。然而

"toLocaleTimeString" in dateobj

返回true,

typeof dateobj.toLocaleTimeString

是“功能”。

那为什么我不能打电话给它呢?

它在我的系统上以相同的规范运行正常(意思是:用户代理字符串匹配 - 以及导航器对象的其他输出)。我检查过他们没有安装任何Edge扩展。还有什么可以影响这个?

Monathan

UPDATEED

在目标Edge浏览器的JavaScript控制台中尝试了一些事情......这很奇怪 - 它不会执行它 - 但它是一个函数..?

  

x =新日期()
  [日期] 2016年10月26日星期三10:18:30 GMT + 0100(GMT日光时间)
  Y = x.toLocaleDateString()
  错误
  x.toLocaleDateString
  是一个功能......

(有关实际细节,请参阅Screenshot

0 个答案:

没有答案