中文字幕不卡,精品国产aⅴ麻豆 http://www.86956464.com/blog 中山php|最優(yōu)網(wǎng)絡(luò) Mon, 13 May 2013 04:56:43 +0000 en hourly 1 http://wordpress.org/?v=3.1.4 異步加載可視化編輯器 Xheditor http://www.86956464.com/blog/view-110.html http://www.86956464.com/blog/view-110.html#comments Sun, 14 Aug 2011 17:02:54 +0000 lin http://www.86956464.com/blog/?p=110

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

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)加載過,防止重復(fù)加載

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

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

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

]]>
http://www.86956464.com/blog/view-110.html/feed 6
使用基于Jquery的可視化編輯器 Xheditor http://www.86956464.com/blog/view-108.html http://www.86956464.com/blog/view-108.html#comments Sun, 14 Aug 2011 17:00:43 +0000 lin http://www.86956464.com/blog/?p=108

使用方法

1. 下載xhEditor最新版本。
下載地址:http://code.google.com/p/xheditor/downloads/list

2. 解壓壓縮文件,將其中的xheditor.js以及xheditor_emot、xheditor_plugins和xheditor_skin三個文件夾上傳到網(wǎng)站相應(yīng)目錄

3. 在相應(yīng)html文件的</head>之前添加
<script type="text/javascript" src=">
<script type="text/javascript" src="
>

4.
方法1:在textarea上添加屬性: class="xheditor {skin:'default'}",前面主參數(shù)也可以是xheditor-mini和xheditor-simple,分別加載迷你和簡單工具欄,后面詳細(xì)參數(shù)可以省略
方法2:在您的頁面初始JS代碼里加上: $('#elm1').xheditor();
$('#elm1').xheditor();
例如:
$({
$('#elm1').xheditor();
});
相應(yīng)的刪除編輯器的代碼為
$('#elm1').xheditor(false);
重要說明:2種初始化方法只能選擇其中一種,不能混合使用,優(yōu)先級分別是:方法1>方法2,例如用了方法1,方法2就無法使用了
更多幫助信息,請查看在線幫助:
http://code.google.com/p/xheditor/wiki/Help
或者參考demos文件夾中的演示頁面
建議使用wizard.html初始化代碼生成向?qū)砩蛇m合你的代碼。

]]>
http://www.86956464.com/blog/view-108.html/feed 19
異步加載 Xheditor 的時候遇到的瀏覽器兼容問題 http://www.86956464.com/blog/view-104.html http://www.86956464.com/blog/view-104.html#comments Sat, 13 Aug 2011 18:55:17 +0000 lin http://www.86956464.com/blog/?p=104

由于各個瀏覽器對js代碼的異步執(zhí)行函數(shù)的支持不一樣

window.execScript() 只支持IE瀏覽器

eval() 雖然支持各個瀏覽器,但是卻不能在全局執(zhí)行

解決的方法是利用javascript里面有一個改變上下文環(huán)境的關(guān)鍵字with .

把GetJsFile方法改成如下:

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){
with ( window )eval(XH.responseText);
//if(window.execScript) window.execScript(XH.responseText);
//else eval.call(window, XH.responseText);
with ( window )eval(callBack);
}
}
XH.send('');
}

]]>
http://www.86956464.com/blog/view-104.html/feed 20
肇东市| 兴城市| 平度市| 绥江县| 邯郸县| 耿马| 宕昌县| 嘉义县| 台南市| 宁南县| 政和县| 甘南县| 淳化县| 郸城县| 永安市| 甘德县| 沂南县| 祥云县| 宣武区| 广昌县| 汝阳县| 惠东县| 宁南县| 巴楚县| 盖州市| 普陀区| 宁海县| 高邮市| 梨树县| 常山县| 鄂尔多斯市| 五莲县| 沅江市| 兰溪市| 栾城县| 新晃| 湘潭市| 台北县| 绍兴县| 恩平市| 晋城|