最近开发中碰到几个神奇的问题,写在这里,用以记录我的那些惊奇。
提交表单能提交出js语法错误
猜猜以上代码点击aaa会发生什么? 提交表单?不不,以上代码会报js的语法错误。而且有时候用户不一样,还不一定会报错!
怎么样,很神奇吧。让我们来看看原因,在录入的时候,form的method属性录入的是P0ST,注意那个0,是数字的0而不是字母的O
。这样一来,其实表单是按照GET方法提交的。在写代码的时候Eclipse不会报错,只会警告,但是一个工程中警告的地方少说有1W多处……,但是一旦这个表单提交的内容超过GET方法的限制,就会报JS语法错误。
闹意见的下载文件名
这是一个导出Excel的模块
我像你保证,这个没有任何语法错误,但是该死的下载文件名就是不变,如果我要写固定,比如说写"aaa"就可以正常下载aaa.xls文件,但是我要用reportName,就不起作用。这很让人抓狂。
真正的原因在这里:如果我要用字母的话不是乱码,浏览器可以辨认,但是如果要换成reportName里的汉字,由于忘记了编码转换,所以是乱码,乱码就不认,不认就会造成它自己再找一个名字的神奇结果……
循环,又见循环
while(rs.next()){
OrginRecord tmpRecord = initOrginRecordDto(rs);
res.put(tmpRecord.generatUniqueKey(), tmpRecord) ;
}//END WHILE
这个循环没有任何语法错误,它只有一点不好,循环很多次的时候会慢的要死,原因在于,循环的时候,是要从数据库那边取出一条记录的,这样在网络上会浪费大量的时 间。修正它的办法也很简单,让它一次性多取一些。 rs.setFetchSize(FETCH_SIZE) ;
神奇的FLASH点击问题
这个问题没有代码,问题大概是这样的:写了 一个FLASH,这个FLASH在接受点击的时候调用网页上的一个JS函数,在服务器上实验的没有任何问题,但是到了单独的网页上就不管用了,各种浏览器都不行。后来发现了原因所在:单独网页的版本等于是FALSH访问本地文件,安全设置直接就屏蔽掉了点击这个动作,解决办法是在控制面板里设置FLASH PLAYER的信任位置,添加文件的位置到信任位置。顺利解决
easyUi在IE6下的select穿透问题
$('#dailog').dailog(options).data().window.shadow.append('<iframe width="100%" height="100%" frameborder="0" scrolling="no"></iframe>');