2

您如何在 20 秒内自动保存 CK 编辑器的内容并启用密钥嵌入,例如。CTRL+S保存?

4

2 回答 2

1

在这种情况下进行自动保存的基本方法是使用 DOMsetInterval()函数设置 20 秒的时间间隔(转换为毫秒),并在每个时间间隔调用一个函数来执行您想要的任何预处理逻辑,然后发布内容到服务器进行保存。

如果保存逻辑最终相同,则CTRL-S保存位可以调用以立即执行保存。autoSave()

$(document).ready(function() {
    setInterval("autoSave()", parseInt(someIntervalInMilliseconds));

    // auto-save on CTRL-S
    $(window).keypress(function(event) {
        if (!(event.which == 115 && event.ctrlKey) && !(event.which == 19)) return true;
        autoSave();
        event.preventDefault();
        return false;
    });
});

function autoSave() {
    // get the contents of your CKEditor instance
    var instance = CKEDITOR.instances[editorName]; // see the CKEditor API docs for more on obtaining the instance and its data
    var encodedData = htmlEncode(instance.getData());
    // or any other sort of data massaging etc.

    var timeStamp = new Date().getTime();
    $.ajax({
        type: "POST",
        url: "some.php",
        data: encodedData
    }).done(function( result ) {
        // you could update some sort of timestamp element to have
        // the latest date and time of the auto-save, etc.
        $('#timeStamp').text(timeStamp);
    });
}

有关信息,请参阅CTRL-S

于 2013-06-03T17:10:44.293 回答
0

现在还有一个用于自动保存的插件,它列在 CKEditor 网站的插件部分:

http://ckeditor.com/addon/autosave

于 2014-02-12T17:08:31.707 回答