jav*_*dba 7 javascript safari stack-trace
对于以下错误:
SyntaxError: Unexpected token '='. Expected an opening '(' before a method's parameter list.
Run Code Online (Sandbox Code Playgroud)
Safari 没有显示文件和行的正确堆栈跟踪。请注意,html 中没有内联 javascript 代码:它全部在.js
文件中。如何更好地处理发生此错误的位置?
window.onerror
像这样覆盖你的
window.onerror = function(message, url, linenumber) {
alert('JavaScript error: ' + message + ' on line ' + linenumber + ' for ' + url);
}
Run Code Online (Sandbox Code Playgroud)
如果您正在开发生产应用程序,您确实应该使用 babel,它将为您解决此类问题。如果它不能解决这些问题,请确保更新您的软件包/npm 等。
为了获得更多技术性信息,这是因为您(或您的用户之一)正在使用过时的 safari 版本,该版本仅正式支持一些最新和最出色的 javascript 改进。升级 Safari 也可能会解决此问题,具体取决于您阅读本文的时间。
干杯