Javascript 在保存到CKEditor插件之前立即更新编辑器内容

Javascript 在保存到CKEditor插件之前立即更新编辑器内容,javascript,ckeditor,Javascript,Ckeditor,我正在为CKEditor开发一个插件,它需要在保存之前立即对编辑器的内容进行一些更改。在FCKeditor中,我使用onafterlinkedfeldupdate的事件实现了这一点,但在CKEditor中还没有找到一种等效的方法。我曾希望有一个合适的活动可以参与,但似乎没有。有人知道这样做的方法吗?您可以使用getData事件,但要小心,因为它也是为内部使用而触发的 我已经申请重新创建上一个事件,因为上面的链接实际上没有关于AfterLinkedFieldUpdate事件的Substance的解

我正在为CKEditor开发一个插件,它需要在保存之前立即对编辑器的内容进行一些更改。在FCKeditor中,我使用onafterlinkedfeldupdate的
事件实现了这一点,但在CKEditor中还没有找到一种等效的方法。我曾希望有一个合适的活动可以参与,但似乎没有。有人知道这样做的方法吗?

您可以使用getData事件,但要小心,因为它也是为内部使用而触发的


我已经申请重新创建上一个事件

,因为上面的链接实际上没有关于AfterLinkedFieldUpdate事件的Substance的解决方案,我已经写了一篇关于如何绕过它的短文

表格如下:

<form id="my_form" action="submit.php" method="post" name="my_form">
   <textarea id="my_text" name="my_text"></textarea>
   <input id="submitForm" type="submit" name="submitForm" value="Submit" />
</form>

代码是

您使用的是什么
保存
事件/功能?“保存”按钮?是的。该插件将由已经安装了CKEditor的站点所有者使用,但他们认为合适,因此我希望尽可能保持我的插件干净,这意味着如果可能,不要更换标准的保存按钮。我已经查看了源代码,我的最佳选择似乎是在包含编辑器的表单中添加一个
submit
事件处理程序,但这很难被认为是干净的。结合为表单的提交事件创建我自己的处理程序,这将是另一种解决方案。事实上,这就是我现在选择的方法,因为在CKEditor生成适当的事件之前,正确处理它会更容易(我真的不知道您想要做什么,所以我猜这一定是一些复杂的事情,必须在更新textarea之后才能完成)我的插件允许用户将存储在不同服务器上的内容片段嵌入到主HTML内容中。这些图像在编辑器内容中表示为占位符图像,以防止它们在编辑器中编辑。在编辑器保存之前,我想用它们表示的HTML内容替换这些占位符图像,当编辑器加载时,我想将特殊HTML转换为占位符(我可以对现有事件执行此操作)。也许我应该采取另一种方法?是的,在这种情况下,您应该以类似于处理锚或对象标记的方式添加处理:如果他们按下源按钮,您还希望显示HTML(但我猜您可能已经删除了该按钮,所以这对您来说不是问题)。不幸的是,我现在不记得有一个关于如何进行处理的好例子(FCKeditor有一个这样的例子)谢谢,你帮了我很大的忙。实际上,我可能不希望在源代码模式下对其进行编辑,但我似乎记得在CKEditor中看到了切换模式的事件,所以应该没有问题。
var formSubmitted = false;
$("#submitForm").live('click', function(event) {
    if (formSubmitted === true) {
        formSubmitted = false;
        return;
    }
    event.preventDefault();
    //put here function to edit content == OnAfterLinkedFieldUpdate
    var editor = CKEDITOR.instances.my_text;
    var html = editor.getData();
    html.replace(searchvalue, newvalue);
    editor.setData(html);
    formSubmitted = true;
    $(this).trigger('click');
});