gpt4 book ai didi

iframe - ckeditor不读取媒体嵌入代码

转载 作者:行者123 更新时间:2023-12-03 13:06:04 25 4
gpt4 key购买 nike

我使用ckeditor的媒体嵌入插件。它工作正常,代码已正确保存在数据库和youtube,soundcloud等中。播放器在页面上显示确定。但是,当用户进入其可以编辑信息的管理部门时,其内部和带有标记的文本不会显示,因此,当用户单击“保存”按钮时,所有先前保存的iframe将被“删除”,其余的iframe将被“删除”的格式化文本将被保存。有什么方法可以在ckeditor中显示iframe代码吗?

最佳答案

我假设您使用的是Advanced Content Filter(ACF)随附的CKEditor4.1.x。最可能的是,您使用不同的编辑器进行前端/后端编辑。

每个插件都使用自己的标记,属性和类规则扩展allowedContent属性。使用这些规则,编辑器会自动剥离不想要的内容,因此,例如,如果前端编辑器因为加载了mediaembed插件而允许<iframe>,则没有此插件的后端编辑器将从内容中删除您的<iframe>

此外,ACF还会观察您的工具栏配置,因此即使您包含插件,但又不想在工具栏中使用该按钮,该按钮提供的任何内容(即<iframe>)也将在编辑器的输出中被禁止。

您可以轻松地检查您的编辑器是否接受<iframes>。基本上调用以下命令,然后查看输出:

CKEDITOR.instances.yourInstance.filter.check( 'iframe' );
>>> true // it's allowed

如果是 false,那么有几种解决您的问题的方法:
  • 在后端编辑器中启用mediaembed插件(使用工具栏中的按钮)。
  • 扩展config.extraAllowedContent以再次将其恢复。

  • 当第一个 solution is straightforward时,第二个可能对您来说很棘手。 mediaembed插件的 allowedContent规则如下(请参阅 plugin's code):
    allowedContent: 'iframe[*]' // stands for: iframe element with any attribute

    如果您将以下内容添加到后端编辑器的配置中,则内容中将包含iframe,而无需加载mediaembed插件:
    config.extraAllowedContent = 'iframe[*]'

    如果该解决方案对您不起作用,请提供编辑器配置和CKEditor版本,以便人们可以为您提供帮助。

    关于iframe - ckeditor不读取媒体嵌入代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16975859/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com