前端開發(fā)部分總結(jié)[兼容性、DOM操作、跨域等](持續(xù)更新)
在公司做這個(gè)項(xiàng)目已經(jīng)6個(gè)多月了,總結(jié)一些問題,也算是拋磚引玉吧,希望園子里更多的朋友一起分享一些技巧。
1、 WebService方法返回值不能為void。
當(dāng)WebService方法返回值為void時(shí),F(xiàn)F和Chrome會(huì)持續(xù)等待,認(rèn)為這個(gè)請求沒有結(jié)束,而在IE中一切是正常的。
2、當(dāng)input的type="button"時(shí)或者使用button時(shí),點(diǎn)擊后會(huì)觸發(fā)form的submit。
當(dāng)時(shí)查找頁面刷新的問題找了很久,最后才發(fā)現(xiàn)是button會(huì)自動(dòng)觸發(fā)form的submit,導(dǎo)致當(dāng)前頁面的刷新。
3、js設(shè)置document.domain只能從二級(jí)域名設(shè)置到頂級(jí)域名。
比如訪問moozi.cnblogs.com,可以在這個(gè)頁面中寫document.domain='cnblogs.com';如果把域設(shè)置為cnblogs.com之后,無法再使用document.domain='moozi.cnblogs.com';。
4、使用DOM片段創(chuàng)建iframe,當(dāng)跨域時(shí),不能用js寫iframe的域。
比如你在moozi.cnblogs.com/test.html頁面用js把域設(shè)置為document.domain='cnblogs.com',而此時(shí)你再用var ifrm=createElement('iframe') ,這時(shí)將不能用js設(shè)置iframe的域也為'cnblogs.com',只能讓ifrm.src='test2.htm',并在test2.htm中設(shè)置域document.domain='cnblogs.com'。
5、當(dāng)你修改過當(dāng)前域的時(shí)候,CKEditor是正常的,而tinyMCE需要重新設(shè)置域。
CKEditor能自動(dòng)識(shí)別當(dāng)前域,并不出錯(cuò)。tinyMCE需要人為的設(shè)置。同時(shí),如果你是用CKFinder上傳文件,而需要修改它的輸入代碼,不然會(huì)因?yàn)橛虿煌霈F(xiàn)沒有權(quán)限的錯(cuò)誤提示。
6、使用tinyMCE,盡管你的初始化代碼只有一句,但是可能出現(xiàn)多次初如化。發(fā)生原因未知,在不確定的情況下會(huì)出現(xiàn)此BUG。
7、開發(fā)js組件的時(shí)候,要時(shí)刻注意閉包和this的指代,這方面之前吃了不少虧。
8、將字符串轉(zhuǎn)換成jQuery對象時(shí),要注意字符串html代碼的閉合標(biāo)簽。
比如:var html='<span>test</span> 'var jqEl=$(html);此時(shí),jqEl會(huì)把html里的' '丟掉。
9、jQuery1.2.6和jQuery1.3在細(xì)節(jié)的處理上有一些區(qū)別。
jQuery1.2.6處理hasClass('.className')會(huì)出錯(cuò),而jQuery1.3不會(huì)。
10、盡量少用jQuery的each,多用js原生的代碼,性能較高。
相關(guān)文章
jQuery textarea的長度進(jìn)行驗(yàn)證
Textarea 控件不能使用form validate.js 進(jìn)行判斷.2009-05-05
清空元素html("") innerHTML="" 與 empty()的區(qū)別和應(yīng)用(推薦)
這篇文章主要介紹了清空元素html("")、innerHTML="" 與 empty()的區(qū)別和應(yīng)用,詳細(xì)介紹了三者之間的原理及應(yīng)用,需要的朋友可以參考下2017-08-08
easyui 中的datagrid跨頁勾選問題的實(shí)現(xiàn)方法
很多朋友都遇到這樣的需求,easyui的datagrid分頁顯示數(shù)據(jù),如果有需求要求勾選多條數(shù)據(jù)且不再同一頁中,easyui會(huì)保存在其他頁選中的數(shù)據(jù)嗎?小編結(jié)合資料自己整理了一篇文章,需要的的朋友參考下吧2017-01-01
Javascript jquery css 寫的簡單進(jìn)度條控件
很多的時(shí)候用戶需要等待你“臃腫”的 Javascript 代碼處理完成(Web 2.0 的特色)。期間或許加入一個(gè)類似于進(jìn)度條的東西讓用戶有點(diǎn)“安慰”。這個(gè)東西實(shí)現(xiàn)起來并不復(fù)雜,無非就是獲得總的處理?xiàng)l目,然后獲得一個(gè)百分比,再顯示輸出。2008-03-03
使用JQuery庫提供的擴(kuò)展功能實(shí)現(xiàn)自定義方法
如何沒有任何一個(gè)庫可以滿足所有的需求,可以使用JQuery庫提供的擴(kuò)展功能,下面有個(gè)示例,大家可以看看2014-09-09
使用jquery datatable和bootsrap創(chuàng)建表格實(shí)例代碼
這篇文章主要介紹了使用jquery-datatable和bootsrap創(chuàng)建表格的實(shí)例代碼,需要的朋友可以參考下2017-03-03
jQuery實(shí)現(xiàn)切換頁面過渡動(dòng)畫效果
這是一款效果非??岬膉Query和CSS3通過AJAX調(diào)用切換頁面過渡動(dòng)畫特效插件。該頁面切換特效使用AJAX來動(dòng)態(tài)加載鏈接內(nèi)容,在頁面加載的時(shí)候,使用CSS3來制作非??岬捻撁孢^渡動(dòng)畫效果。插件中使用pushState方法來管理瀏覽器的瀏覽歷史,需要的朋友可以參考下2015-10-10
jquery實(shí)現(xiàn)可橫向和豎向展開的動(dòng)態(tài)下滑菜單效果
這篇文章主要介紹了jquery實(shí)現(xiàn)可橫向和豎向展開的動(dòng)態(tài)下滑菜單效果,以實(shí)例形式較為詳細(xì)的分析了jquery實(shí)現(xiàn)橫向與豎向展開菜單的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-08-08
一款Jquery 分頁插件的改造方法(服務(wù)器端分頁)
分頁幾乎是每個(gè)外部程序必不可少的東西,在webform時(shí)代很多人都用過AspNetPager這個(gè)用戶控件吧,用的人之多其實(shí)就在于它的優(yōu)點(diǎn)2011-07-07

