我尝试使用页面编辑器将YouTube视频嵌入我的Silverstripe网站。我们在使用两种不同的嵌入方式时遇到了问题。
编辑插播媒体: 当我点击编辑器"插入媒体"按钮我选择"来自网络"并粘贴在YouTube网址中。但是我需要隐藏相关视频,所以要做到这一点,我们需要添加"& rel = 0"到URL的末尾。当我这样做时,"插入媒体"选项不起作用。
的iFrame: 所以我尝试使用Google提供的嵌入代码。我去了他的文本编辑器并插入它。 iframe可以工作,但是编辑器剥离了" allowfullscreen"来自iframe的标记 - 这意味着用户无法全屏观看视频。
所以我要么要显示我不想做的相关视频。或者我需要阻止用户以全屏模式观看 - 这也是我不想做的。
我们正在使用Silverstripe 3.3。
有没有办法阻止Silverstripe剥离allowfullscreen标签?或者,如果我们将rel = 0放在最后,Silverstripe仍会处理YouTube网址?
或者,是否有人知道这是否已在3.4,3.5或3.6中解决?
在发布此消息之前,我已经完成了超过45分钟的彻底搜索,包括通过Silverstripe论坛(现已停止使用),在Stackoverflow和Google小组上。另外,我通过3.4,3.5和3.6的更改日志来处理与iframe和YouTube相关的任何内容,但无法找到特定于此问题的内容。
我使用的不同CMS中的TinyMCE编辑器不会从iframe中删除allowfullscreen标记。所以它似乎特定于Silverstripe的编辑器实现。
答案 0 :(得分:3)
直接回答你的问题是修改tinymce配置,通过设置“extended_valid_elements”来包含更多帧的属性
替代方法是引入新的短代码:https://docs.silverstripe.org/en/3/developer_guides/extending/shortcodes/
在某种程度上,后者会更安全。