Plone 4.3.10rc1中TinyMCE无法调整嵌入Youtube视频大小求助
我之前碰到过类似的情况,这个问题大概率是TinyMCE对Youtube iframe的解析逻辑、或是Plone的安全过滤规则导致的,给你几个可行的排查和解决方向:
检查TinyMCE媒体插件配置
进入Plone站点的TinyMCE设置界面,找到「媒体」相关配置项,确认是否开启了允许编辑媒体尺寸的选项。另外,部分版本的TinyMCE对Youtube iframe的识别依赖特定属性,比如确保嵌入代码包含frameborder="0"或allowfullscreen,这些属性能帮助编辑器识别这是可调整的媒体元素。调整Youtube嵌入代码的格式
默认的Youtube嵌入代码通常是这样的:<iframe width="560" height="315" src="https://www.youtube.com/embed/XXX" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>你可以尝试把
width和height属性替换为内联样式,比如:<iframe style="width:560px; height:315px;" src="https://www.youtube.com/embed/XXX" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>这种格式可能更容易被TinyMCE识别并允许调整尺寸。
检查Plone的HTML过滤规则
进入Plone的「站点设置」→「HTML过滤」,确认在「允许的标签和属性」里,iframe标签是否被允许使用width、height以及style属性。另外,也可以把youtube.com加入「允许的iframe来源」列表,避免安全策略限制了对Youtube iframe的编辑操作。尝试版本回退或等待补丁
既然问题是升级到1.3.25后出现的,有可能是这个版本的TinyMCE对Youtube的处理存在特定bug。你可以暂时回退到之前稳定的Products.TinyMCE版本(比如1.3.24),看看问题是否消失;也可以关注官方更新,确认是否有针对该问题的补丁发布。
内容的提问来源于stack exchange,提问作者João Luis Tavares

