以下是我開發時碰到的問題以及心得經驗,花了些時間調試,貼出來避免大家少走彎路。
1、xml文件盡量以utf-8編碼,gb2312有些字是存儲不了的,如?,就算能存也需要轉換,比較麻煩,utf-8也符合國際規范。
2、CSS中:hover這個偽類,如果放在:visited前面則會失效。
3、<a>標簽如果沒有href屬性,所有對它的css的偽類如:hover均失效。
4、js文件中用document.wirte("<script language=’javascript’ src=’" + file + "’></" + "script>"形式的引用,其file相對路徑均為引用該js的html的路徑。
如:a.htm 引用x\b.js,b.js引用x\c.js,則file應該為x\c.js而不是相對b.js的直接路徑c.js,而css中的@import,url()引用不存在這個問題
5、在頁面中,有時talbe的寬設置為100%右邊也會留下一個滾動條的空白,請設置<body style="overflow:auto">
6、對於常用的圖片不要用img標簽,使用<span><a>並用css指定其背景和寬高,對於做動態的(移上去變背景),使用<a>最好,不需要額外編寫代碼,只要利用偽類:hover就好了,使用css好處是一次改變全部改變,這點可以很好的利用在換皮膚的應用中。
7、@font-face {font-family:comic;src:url(http://valid_url/some_font_file.eot);}
定義一種在本地沒有的字體名稱,調用<span style="font-family:comic;font-size:18pt>aa</span>
8、幾個CSS
div { overflow: hidden;text-overflow:ellipsis; }
td { vertical-align : middle; }
要強制溢出發生並且應用 ellipsis 值,作者必須設置對象的 white-space 屬性值為 nowrap 。
假如沒有換行機會(例如,對象容器的寬度是狹窄的,而內有很長的沒有合理斷行的文本),沒有應用 nowrap 也有可能溢出。
為了使 ellipsis 值被應用,此屬性必須被設置到具有不可視區域的對象。最好的選擇是設置 overflow 屬性為 hidden。
9、firefox的document.createElement不支持內容裡有HTML標簽,也不支持innerText,但是支持innerHTML,可以用innerHTML指定其內容。
10、.net控件裡DropDownList在firefox下的寬度不著色,需要直接定義style=’width:10px;’
11、firefox中css的cursor不支持hand,使用pointer代替。
12、iframe裡的滾動條需要在iframe標簽裡設置style=’overflow:hidden’,不能僅僅在body裡設置,在firefox會有問題。
13、在onpropertychange事件時,注意使用event.propertyName對屬性改變事件過濾,在設置本事件時,其實已經改變了onpropertychange這個屬性,所以會自動的執行一次。
14、js5.6裡的對XSL的支持版本較低,如document函數就不支持。
15、slice函數比直接循環獲取數組片斷慢。
16、nextSibling獲得下一個對象時,需要注意,兩個節點間不要有空格,否則很容易獲取不到正確得對象。
17、CreateTextFile在有中文時必須指定第三個參數為true,否則不能寫入中文,表現為Write寫時報錯。
18、保存中文文本時使用ADODB.stream,不使用fso,因為FSO不支持utf-8格式。