未结束的字符串常量 中文引起

因为外部js文件中 包含中文( 不是语法问题),导致出现 未结束的字符串常量 脚本错误。可是如果你不知道是因为中文出了问题,那可是要费很大力气的。呵呵,看完此文,相信你能解决此问题。 主要的一点是:将外部js文件另存为utf-8编码
相信有不少人也遇到过此问题

在网上找到下面的文章,问题解决。

转自: http://www.busfly.cn/csdn/post/javascript-not-end-char.html
项目在IE6下表现得不理想,害我一头汗。若不是某人用IE7,恐怕我就算天大的啤气也发不起来。是忽悠过去了,但问题还得解决。要知道IE6还是主要浏览器。回来后我在远程服务器上用IE6仔细检查出错的JS库,其提示是“未结束的字符串常量”。心里纳闷我不至于漏加个引号吧,就算我忘了给字符串加引号结束,在IE7和FireFox下同样也会出错。为什么又好得不得了呢。找到出错的那一行后真相大白……

我需要一个事件来处理用户点击按钮,把项目预警信息设为“已读”,以使预警信息框不再弹出。Jquery会调用处理脚本并返回处理信息。若处理信息为true,表示设置成功。JS代码会在DOM里指定信息元素修改HTML,也就是将“未读”设为“已读”。

function setread(id){
$.post(”result/setRead.asp”,{id:id},function(msg){
  if(msg==true){
    $(”#msgList_”+id).html(”已读“);//出错行。
  }
});
}


问题就出在这个“已读”上。中文的,郁闷了很久。DOM是UTF-8的篇码,如果JS库不是分离的独立JS文件,而是包含在DOM里的,这个问题是不会出现的。然而分离的JS文件并不是UTF-8编码,被加库到UTF-8编码的DOM里,中文就出现了乱码,并影响到引号符,使浏览器无法判断字符串结束。解决变法很简单,JS文件另存为UTF-8编码格式即可。

这点小问题差点让我在众目睽睽下出大糗。

你可能感兴趣的:(jquery,浏览器,脚本,asp,firefox)