5

JQueryを使用せずにデータをckeditorにロードすることは可能ですか? 可能であれば、インライン スクリプト タグを使用したいと考えています。私が見つけることができるすべての例は Jquery を扱っていますが、それは私の場合には最適ではありません。

私がこれまでに持っているのは、CKs サイトで見つけた例です。

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

これをインライン スクリプト タグで使用しようとしましたが、エディターがクラッシュします。これを JQuery で使用すると、期待どおりに動作します。

4

4 に答える 4

17

jQueryを使わずにCKEDITOR APIを使った例です。CKEDITOR の「editor1」インスタンスを textarea コンテンツで初期化する置換関数の呼び出しを確認してください。それがコンテンツのオンロードを入力する最も簡単な方法だと思いますが、それで十分でない場合は、質問のコードを使用して 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
});

</p>

http://jsfiddle.net/cDzqp/

于 2013-01-04T05:36:51.610 に答える
5

この質問は古いことは知っていますが、解決策を見つけたばかりで、よりクリーンだと思うので、将来同じ問題が発生する可能性がある人のためにここに2セントを追加します.

CKEditor は、置き換えられた古いテキストエリア内に元々あったものを使用して、新しいテキストエリアのコンテンツを自動的に設定します。つまり、テキストエリアの内容を変更してから、replace コマンドを呼び出すだけで十分です。これはコードになります:

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

終わり :)

于 2016-05-30T13:39:29.620 に答える