感谢:http://hi.baidu.com/vipwku/item/da7150ce1dc389db984aa00a
昨天,突然有个页面上线后突然发现IE下页面报错 SCRIPT1015: 未结束的字符串常量,而且很诡异的是只有某条数据加载进去时会报错
排查之后发现原因是因为函数 οnclick="showTeacherInfo('${(studentCourse.course.teacherName)!}','${(studentCourse.course.teacherInfo)!}')“
这个函数值${(studentCourse.course.teacherInfo)!}因为是直接读取的教师信息,但是真实的数据中有些教师信息是有换行符的。这样就造成了页面错误。(CHROME虽然不报错。鼠标单击时候会报错,如图:
感谢http://hi.baidu.com/vipwku/item/da7150ce1dc389db984aa00a的文章,如下修改一下就好了
首先把这个${(studentCourse.course.teacherInfo)!的值存到隐藏域中,并给一个唯一的ID名
<input type="hidden" value="${(studentCourse.course.teacherInfo)!}" id="teacherinfo_${studentCourse.courseInstance.id}">
之后函数传参时不传内容,传ID名 οnclick="showTeacherInfo('${(studentCourse.course.teacherName)!}','${studentCourse.courseInstance.id}')"
函数再根据ID名去取教师信息的值:
function showTeacherInfo(name,id){
var info =$("#teacherinfo_"+id).val();
......
}