客户的一个报表页面突然显示不完全,项目使用.net MVC 开发,js报“Uncaught SyntaxError: unexpected token ,”,我从本地访问测试环境显示正常,客户访问测试环境显示仍不正常。IE下访问同样不正常,报错误“SCRIPT1003: 缺少 ':'”,怀疑是浏览器兼容性问题。
经排查,找到问题点,是一段使用了简略写法的参数定义语句:
orderid = selROW.orderid;
filename = selROW.filename;
filepath = selROW.filepath;
autoid = selROW.autoid;
var params = { orderid, filename, filepath, autoid};
将最后一行改成
var params = { orderid:orderid, filename:filename, filepath:filepath, autoid:autoid};
之后页面即可正常显示,问题解决。但兼容问题的来源仍不确定,怀疑客户的浏览器变成了较早的谷歌版本,不支持该缩略语法。