您的位置:首页 > 其它

[转载] 关于ckEditor 的一些小知识

2014-06-13 11:41 183 查看
http://jiangzhenghua.iteye.com/blog/793282

今天写了一段代码:目的是向CKEditor中插入数据如下:

Js代码


function insertSrc(srcArray){

var i=0

for (i=0;i<=srcArray.length;i++)

{

var oEditor = CKEDITOR.instances.articleContent;

var editorData_old = oEditor.getData() ;

var editorData_new = editorData_old.substring(0,editorData_old.indexOf('</head>'))

+

srcArray[i]

+ editorData_old.substring(editorData_old.indexOf('</head>')) ;

oEditor.setData(editorData_new) ;

}

}

经过调试发现该函数执行有问题,循环中后几个循环不能执行。原因就是CKEDITOR中的setData()方法是ajax异步的。

最终改写代码为:

Js代码


function insertSrc(srcArray){

var oEditor = CKEDITOR.instances.articleContent;

var editorData_old = oEditor.getData() ;

var old_begin = editorData_old.substring(0,editorData_old.indexOf('</head>')) ;

var old_end = editorData_old.substring(editorData_old.indexOf('</head>')) ;

var insertData = '' ;

for(var i=0;i<srcArray.length;i++)

{

insertData = insertData + srcArray[i] ;

}

var editorData_new =old_begin + insertData + old_end ;

oEditor.setData(editorData_new) ;

}

注:我们应该知道CKEditor中getData()方法是正常的方法,而setData()方法是异步方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: