2013-01-04 52 views
4

是否可以在不使用JQuery的情况下将数据加载到ckeditor中?如果可能,我想使用内联脚本标记。我可以找到的所有例子都与Jquery相关,这对我来说不是最优的。如何将数据加载到ckeditor onload

我至今是我在中正网站上发现的例子:我试图用一个内嵌脚本标签使用此

CKEDITOR.instances.editor1.setData('<p>Some other editor data.</p>', function() 
    { 
     this.checkDirty(); // true 
    }); 

,但它崩溃的编辑器。如果我在JQuery中使用它,它将按预期工作。

+0

可以显示一些代码,以便它会很容易让我们回到回应。 –

+0

Philemon,我发布了我现在所拥有的并不多 – NaN

回答

11

这里是一个使用CKEDITOR API而不使用jQuery的例子。请注意调用替换函数,该函数用textarea内容初始化CKEDITOR的“editor1”实例。我认为这将是填充内容的最简单方式,但如果这还不够,可以看到我在你的问题中使用了代码,用“其他编辑器数据”填充了CKEDITOR。

HTML:

<textarea id="editor1"> 
    Hello, world! 
</textarea>​ 

的Javascript:

CKEDITOR.replace('editor1', { 
    toolbar: 'Basic', 
    uiColor: '#9AB8F3' 
}); 
CKEDITOR.instances.editor1.setData('<p>Some other editor data.</p>', function() 
{ 
    this.checkDirty(); // true 
}); 

http://jsfiddle.net/cDzqp/

+1

我知道它已经有几年了,但这似乎不适合我,jsfiddler也不再有效。我试着将它更新到ckeditor 4.6.1,但仍然没有运气。 (https://cdn.ckeditor.com/4.6.1/full-all/config.js?t=GB8C) – rmcsharry

4

我知道这个问题是旧的,但我只是想出了我的解决方案,我认为更清洁,所以我在这里增加我的两分钱给谁可能有sa我未来的问题。

CKEditor使用最初在旧的被替换的内容中自动设置新textarea的内容。换句话说,改变textarea的内容并且只调用replace命令就足够了。这将是代码:

document.getElementById("editor1").value = "<p>Some other editor data.</p>"; 
CKEDITOR.replace("editor1"); 

完成:)