CKEditor:如何手动触发ACF(高级内容过滤器)

CKEditor:如何手动触发ACF(高级内容过滤器),ckeditor,Ckeditor,对于旧版本的CKEditor,在将内容提交到服务器之前,我使用以下代码手动触发高级内容过滤器,但这在版本4.4中停止了工作。我想知道有没有办法在CKEditor中手动触发ACF和/或其他类型的内容验证 editor.setData(editor.getData();); 你的解决方案实际上对我有效!更准确地说,我使用了CKEDITOR.instances['instance\u name'].setData(CKEDITOR.instances['instance\u name'].getDa

对于旧版本的CKEditor,在将内容提交到服务器之前,我使用以下代码手动触发高级内容过滤器,但这在版本4.4中停止了工作。我想知道有没有办法在CKEditor中手动触发ACF和/或其他类型的内容验证

editor.setData(editor.getData(););

你的解决方案实际上对我有效!更准确地说,我使用了
CKEDITOR.instances['instance\u name'].setData(CKEDITOR.instances['instance\u name'].getData())
,它成功了

向其他人提问:这可能是非常有用的,即使你已经打开了ACF;在我们的应用程序中,有很多情况下,我们直接使用jQuery在CKEditor中操纵DOM,以获得一些非常定制的功能(我们实际上在编辑器区域中创建了一些UI),但我们不希望被禁止的HTML进入服务器,这个解决方案工作得非常好

(当然,我们也总是在服务器上进行清理)

对于我们来说

CKEDITOR.instances['instance\u name'].setData(CKEDITOR.instances['instance\u name'].getData())

不起作用,但获取参数中包含1的数据起作用


CKEDITOR.instances['instance\u name'].setData(CKEDITOR.instances['instance\u name'].getData(1))

我很好奇;非ACF数据是如何进入编辑器的?在4.1之前的版本中没有ACF时,它是从脏数据开始的。但是当您将这些数据加载到CKEditor中时,ACF是否会对其进行过滤?@Nenotlep是的,这就是问题所在,我们会丢失数据,因此,我们希望手动触发ACF,以查看CKEditor在提交之前可能进行的更改。这听起来确实有点复杂。我认为在CKEditor之外存储这些值并在提交之前进行比较可能是最可靠的事情。如果您想查看ACF是否触发,您可以遵循
dataFiltered
事件。