易截截图软件、单文件、免安装、纯绿色、仅160KB

JavaScript 未结束的字符串常量

JavaScript 未结束的字符串常量
做JavaScript的时候,发现老是出现错误:“未结束的字符串常量”.
自己找了下应该是传参数的时候,有特殊字符引起的.
网上也找了下,也有好多出现这种情况.做下总结,以方便以后查阅.
1.JAVASCRIPT引用时,使用的字符语言不一致.
比如:<script type=”text/javascript” src=”xxx.js” charset=”UTF-8″>.
xxx.js文件内部使用的是GB2312的格式,外面调用使用的是UTF-8,所以文件内部部分特殊字符因为格式不一致,出现乱码,造成此原因.
改为charset="GBK"就可以了
2.JAVASCRIPT输出HTML字符时,前后标记不匹配.
这种比较常见,往往在输出字符串时,出现单引号(’)或双引号(”)不配对,或者是在document.write()的时候,没有正确输出单引号(’)或双引号(”)
3.参数内出现HTML标记语言或包含换行符
我今天所遇到的是这种情况.因为我所得到的数据以参数形式传给一函数,结果该数据里包含换行符,造成了此错误.
如:一般测试时只使用单行的数据,是正常的,未出现这个错误,.
当测试时使用多行数据,并使用回车链换行,就出行了此错误.因为里面包含了换行符
对于第3种情况,我的解决方法是:不直接将该数据以参数形式传递,而是先将其赋值在一个隐藏的文本内,需要调用的函数里只需读取该文本里的内容即可.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- 编码  -->
<span style="display:none">当前时间:</span>
<div id="time"> </div>
<script>
document.getElementById('time').innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());
setInterval("document.getElementById('time').innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);
</script>


相关文档:

JavaScript的 Cross Site 脚本注入风险

    今天有人来公司推销网站安全扫描软件,演示了对JS的跨域脚本注入风险的扫描,以前没意识到,今天有所了解。如果您的程序页面有以下情况,那么JS脚本注入的风险就很大:
1)页面打开时,URL 有某个参数,例如 XXPage.aspx?XXParam=XXValue
2)aspx页面里有如下代码:
<script>
  &nb ......

javascript除去数组中的重复元素【转】

 function unique(data){debugger;
    data = data || [];  
       var a = {};  
    for (var i=0; i<data.length; i++) {  
        var v = data[i];  
......

javascript事件监听

原帖地址:http://www.cnblogs.com/AganCN/archive/2009/02/06/1206272.html   考虑这样的情形在IE浏览中处理,需要响应页面的按钮点击事件,有哪些方法呢?
(1)onclick属性添加事件处理函数
function DoClick()//handler of click event
{

}


test1
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号