总结一下,都比较零碎:
1、发现Firefox中文本框样式设了vertical-align:middle后,光标无法垂直居中,只能在js中设置padding弥补。一直以来视FF为Web标准,看来也不是完美的,Chrome才是权威。不过Firebug实在太好用了。
2、终于明白了一个元素如果是绝对定位,其定位数值是根据上级相对定位元素(position:relative)算的,要是没有,就是相对body。
3、还明白了所有绝对定位及浮动元素,display都是block的。这和上条一样,简单不能简单的道理了,现在才知道,悲剧啊!
4、又找到一个IE6的Bug-不支持样式类连写,像 .a.b { color:blue }会被解释成 .b {color:blue}。
5、开始用match方法检索URL。检索结果为null说明没找到,找到了则返回一个数组,第一个元素是匹配结果,其他的是各个子匹配(写在正则括号里的)。
6、曾经以为IE的event对象很方便,现在才知道W3C标准的道理。像在IE中,要是在事件响应函数中触发其他事件,比如focus(),原事件会被覆盖,想取消或遵循事件也不可能了。只好用setTimeout来解决,但代码看上去不爽。
7、小键盘和主键盘,即使同样的键,KeyCode也是不同的(包括.Net和Javascript)。觉得这么设置没必要,徒增麻烦。
8、JQuery(1.4.2)的show函数也有个bug,要是你对a/span等默认为inline的设成display:block,用show()函数时,这些元素样式又会变成inline。
9、惊天发现:Ajax请求不能跨域。妄图跨域请求的话,就IE还弹个框让用户确认,其它浏览器直接干掉。能跨域的那原来不是Ajax请求,而是一个script对象,功能也有限制。
10、Asp.Net项目中的Designer.cs其实在编译时一点用处没有,就是在写代码时提示用。不喜欢用控件的可以直接删掉这些累赘。
11、ConfigrationSection的用法,和当年Ado.Net一样,学一遍忘一遍,这次终于不看示例能写对了。
12、XmlReader读完一个stream,默认stream不关闭。一般情况下,一个流只会被一个XmlReader读,所以应该读完就关闭流。默认的工厂方法Create还应该忽略空白和评论。
13、还是XmlReader,突然感到检查当前节点名语句很麻烦,早该用扩展方法整合下,代码一下子清爽多了。
14、自定义的WebControl在设计状态往往显示不出来,但只要发现WebControl类有个DesignMode属性就好办了。回过头来大体看了下老郑的《庖丁解牛》,很牛,但MS这套控件系统更牛。
15、HttpContext对象有个User属性,原来Windows身份验证就这么实现。
16、Response输出图像时,IE挺机灵,不用指定ContextType就能识别,Firefox不指定就成了乱码。
17、自己也会了玩防盗链,也学会了防防盗链。
18、两数据库间同步数据,数据量不太大的话,DataAdapter最好用,一个Update搞定。
19、Response.Redirect(url)之后,后面代码神奇地死里逃生,咸鱼翻身,具体原因调查中……