欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

IE6下出现JavaScript未结束的字符串常量错误的解决方法_javascript技巧

程序员文章站 2022-04-28 11:34:07
...
里面提到“DOM是UTF-8的篇码,如果JS库不是分离的独立JS文件,而是包含在DOM里的,这个问题是不会出现的。然而分离的JS文件并不是UTF-8编码,被加库到UTF-8编码的DOM里,中文就出现了乱码,并影响到引号符,使浏览器无法判断字符串结束。解决变法很简单,JS文件另存为UTF-8编码格式即可。 ”
所以我修改了JavaScript的引用,
修改后果然,可以正常且正确的运行了。 看来真的是中文编码格式的问题了。
问题:虽然用gb2312可以解决问题。 但UTF-8却不可以。需要进一步研究。

项目在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编码格式即可。

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