您现在的位置: 365建站网 > 365学习 > js(javascript)未结束的字符串常量错误解决方法

js(javascript)未结束的字符串常量错误解决方法

文章来源:365jz.com     点击数:420    更新时间:2017-08-08 12:37   参与评论
1.JavaScript引用时,使用的字符语言不一致.
比如:<script type=”text/javascript” src=”xxx.js” charset=”UTF-8″>.xxx.js文件内部使用的是GB2312的格式,外面调用使用的是UTF-8,所以文件内部部分特殊字符因为格式不一致,出现乱码,造成此原因.

2.JAVASCRIPT输出HTML字符时,前后标记不匹配.
这种比较常见,往往在输出字符串时,出现单引号(')或双引号(”)不配对,或者是在document.write()的时候,没有正确输出单引号(')或双引号(”)

3.参数内出现HTML标记语言或包含换行符
我今天所遇到的是这种情况.因为我所得到的数据以参数形式传给一函数,结果该数据里包含换行符,造成了此错误.
如:一般测试时只使用单行的数据,是正常的,未出现这个错误,.
当测试时使用多行数据,并使用回车链换行,就出行了此错误.因为里面包含了换行符

对于第3种情况,我的解决方法是:不直接将该数据以参数形式传递,而是先将其赋值在一个隐藏的文本内,需要调用的函数里只需读取该文本里的内容即可.

另外一组回答:
解决办法:

 

未结束的字符串常量 网页错误 

未结束的字符串常量网页错误大致分为以下三种情况:
(1)JavaScript和jsp文件的编码类型不一致
现象:比如你的JSP网页用的编码格式是UTF-8,但是你的js文件用的编码是GB2312,这样文件内部特殊字符因格式不一致就会在解码时出现乱码,从而导致编译器在未到达引号前提前结束,产生“未结束的字符串常量”这种不太容易发现的错误。
解决:如果你的JS是外部引用进来的,而不是在JSP页面上编写的,可以在<script type="text/javascript" src="XXX.js" charset="###">中设置charset="###"与你的JSP页面编码一致就可以了。如果你的JS是在JSP页面上直接编码的,基本排除这种类型的错误。
(2)在javascript中,字符串前后标记不匹配或者嵌套错误
现象:这种最常见也最容易发现错误,字符串中单引号或者双引号前后不匹配,或者在document.write()时,没有正确输出单引号或者双引号,还有就是在单双引号嵌套时出现错误。
解决:让前后引号正确配对。共有两层嵌套时,双引号内嵌套单引号;单引号内嵌套双引号都是正确的。共有三层嵌套时,最里面一层引号和最外面一层相同,这样是错误的,可以在最里面一层引号前加上转义字符"\"。
(3)传递的参数变量内或者JSP脚本变量中包含HTML标记语言,包含换行符或包含引号
现象:这种情况是最难发现的,容易忽略了变量内部文字原因产生的,将字符串以参数形式传递给一个函数或者HREF、action时,该字符串里包含换行符、引号或者HTML标记,造成了此错误。
解决:对于这种情况,解决方法有两个:一个是将字符串变量进行替换操作,将双引号替换成单引号,单引号换成“\"”,不过这样在传递后读取时还得替换成原文;另外一个方法是不直接将数据以参数形式传递,而是先将其赋值给一个隐藏文本内,函数里只需读取文本中的内容即可。


如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (420人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------