You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal 9.5.4 + CKEditor5:更新iframe src后渲染时标签被剥离

Drupal 9.5.4 + CKEditor5:更新iframe src后渲染消失的解决办法

1. 检查文本格式的过滤规则

  • 进入「配置 > 内容创作 > 文本格式和编辑器」,找到你在用的「Full HTML」格式,点击「配置」。
  • 查看「过滤器」列表:
    • 确认「限制允许的HTML标签和纠正错误的HTML」过滤器中,iframe标签被允许,且包含src、width、height、allowfullscreen这些必要属性。
    • 如果启用了「CKEditor 5 HTML过滤器」,要把iframe加到允许标签列表里,同时放开src属性的限制——避免更新后的src被拦截。
    • 修改规则后记得清空缓存,或者重新保存一次内容。

2. 核对CKEditor5的插件配置

  • 先确认你安装了「Media Embed」或专门的「IFrame」插件(第三方插件需单独确认)。
  • 进入文本格式的CKEditor5配置页面:
    • 官方Media Embed插件的话,要开启自定义iframe嵌入权限,或者把YouTube域名加到允许来源列表中。
    • 若是自定义iframe插件,检查是否有src域名白名单——更新后的src如果不在白名单内,会直接被过滤删除。

3. 排查缓存和渲染管道问题

  • 虽然theme_preprocess_node中能看到iframe,但后续可能被filter模块处理移除。可以临时关闭「限制允许的HTML标签」过滤器,测试内容是否能正常显示,以此确认是否是过滤规则导致的问题。
  • 清空Drupal所有缓存(配置缓存、渲染缓存都要清),旧规则可能被缓存,导致新设置无法生效。

4. 调试HTML过滤过程

  • 在settings.php中添加一行$config['filter.settings']['debug'] = TRUE;,开启过滤调试模式,这样渲染时会显示哪些标签被过滤、对应的过滤器是什么。
  • 前往「报告 > 最近的日志消息」查看是否有HTML过滤相关的警告信息,可能会找到问题根源。

5. 排查自定义模块/主题干扰

  • 检查是否有自定义模块通过hook_filter_process之类的钩子修改内容,移除了iframe标签。
  • 切换到Bartik这类默认主题测试,排除当前主题的预处理或模板代码导致的问题。

内容的提问来源于stack exchange,提问作者whiplash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 23:30:13