最優(yōu)良人 » 異步 http://www.dgkai.cn/blog 中山php|最優(yōu)網(wǎng)絡 Mon, 13 May 2013 04:56:43 +0000 en hourly 1 http://wordpress.org/?v=3.1.4 異步加載可視化編輯器 Xheditor http://www.dgkai.cn/blog/view-110.html http://www.dgkai.cn/blog/view-110.html#comments Sun, 14 Aug 2011 17:02:54 +0000 lin http://www.dgkai.cn/blog/?p=110

如果像上一篇文章使用基于Jquery的可視化編輯器 Xheditor 那樣設置的話,訪問頁面時會加載70多k的jquery文件和50多k的xheditor文件,為了追求頁面默認加載的性能提升,其實這些文件完全可以在編輯的時候異步加載的,下面是操作步驟:

1,需要用到一個異步加載js文件并執(zhí)行的函數(shù)

function getJsFile(url, callBack){

var XH = window.XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject('Msxml2.XMLHTTP');

XH.open('get',url,true);

XH.onreadystatechange = function(){

if(XH.readyState == 4 && XH.status == 200){ if(window.execScript) window.execScript(XH.responseText);

else eval.call(window, XH.responseText);

eval(callBack);

}

}

XH.send('');

}

第一個參數(shù)url為js路徑,第二個回調(diào)函數(shù)是加載完js之后的操作

2,由于我采用js初始化編輯器的方式,并且我把初始化的內(nèi)容統(tǒng)一放到一個js文件以便以后統(tǒng)一更改樣式,所以我異步加載的時候會加載三個文件。使用以下代碼:

function callback(){ };

var is_load;

is_load = false;

function loads(){

if(!is_load){

getJsFile('/js/jquery-1.4.2.min.js','callback');

getJsFile('/js/editor/xheditor-en.min.js','callback');

getJsFile('js/editor/editor.js','callback');

is_load = true;

}

}; 回調(diào)函數(shù)留空,變量is_open判斷是否已經(jīng)加載過,防止重復加載

3,在textera框外面加一層span ,onclick="loads()"

大功告成了,只要一點擊textarea就會調(diào)用js并且執(zhí)行

不過有一點需要注意的是,由于xheditor默認是根據(jù) 頁面這一條語句去判斷插件所在的位置,由于采用異步加載所以網(wǎng)頁頭部沒放這一行,解決的方法是在插件目錄在建一個js文件,叫xheditor-autoload.js,剛好把上面那個 getJsFile()函數(shù)放進去,然后在放到頁面頭部位置: ,大小不到1k,算可以接受。

]]>
http://www.dgkai.cn/blog/view-110.html/feed 6
欧美喷水| 中文字幕综合在线分类| 青青草成人AV| 久久丁香五月综合网| 蜜臀91精品国产观看| 欧美三级做爰全过程| 粉嫩AV在线免费观看| 中文字幕一区二区三区性色| 五月婷婷色五月综合在线| 欧美区一码二码三码区别| 亚洲精品午夜久久久久久APP| 老湿网老湿机福利区| 白皙少妇无码| 欧美黄色a| 中文字幕日韩黄片| 手機看片人澡澡| 亚洲色婷婷综合久久二区| 和寂寞少妇做爰bd| 久久高清无码视频| 亚洲一区二区三区蜜桃| 婺源县| 日本乱偷人妻中文字幕在线| 高清久综合| 久久久爽爽爽夜夜夜精品| 三级啪啪丁香| 日韩高清AV无码| 极品色在线| 在线搜综合av免费网站| 国产精品久色在线播放| 日韩精品第一页| 我爱中国| 一级欧美日韩黄片| 日韩特黄片视频播放| 女教师一区二区| 色呦呦在线免费播放| 色五月网站| 天堂综合| 美国一级黄片| 亚洲自拍图片综合| 乱中年女人伦AV三区| 午夜老司机|