table 标签中的 Drupal 8 剥离样式属性
Drupal 8 stripping style attributes from table tags
我正在使用带有 CKEditor 的完整 HTML 过滤器。以下过滤器已启用:
- 对齐图像
- 图片说明
- 跟踪通过文本编辑器上传的图像
- 可折叠文本块
请注意 Limit allowed HTML tags and correct faulty HTML
未启用。
当我使用 Source 视图将 style
属性添加到 Ckeditor 中的 table
元素时,特别是 "width=75%"
,它会在呈现页面时被删除。当我再次编辑页面并转到“源代码”视图时,样式标签就在那里。
什么是在渲染时剥离它?
我认为出于安全原因,内联样式在默认情况下已被删除。但是,在过去的几年里,Drupal.org 上对这个问题有很多讨论。如果您正在寻找解决方法并接受风险,这里有两种我发现的方法:
- How to fix: CKEditor is removing style attributes. Drupal 8.
- Refactor Xss::attributes() to allow filtering of style attribute values
中肯警告:我没有亲自实施过其中任何一个。
默认情况下,基本 HTML 格式化程序会去除内联样式。除非您有不想打开 Limit allowed HTML tags
的具体原因,否则我强烈建议您这样做,因为它可以让您更好地控制您和其他人可以在所见即所得中使用的标签。此外,它允许您添加具有预配置样式的 "Styles" 按钮,因此您不必重复插入内联 CSS 代码。
我正在使用带有 CKEditor 的完整 HTML 过滤器。以下过滤器已启用:
- 对齐图像
- 图片说明
- 跟踪通过文本编辑器上传的图像
- 可折叠文本块
请注意 Limit allowed HTML tags and correct faulty HTML
未启用。
当我使用 Source 视图将 style
属性添加到 Ckeditor 中的 table
元素时,特别是 "width=75%"
,它会在呈现页面时被删除。当我再次编辑页面并转到“源代码”视图时,样式标签就在那里。
什么是在渲染时剥离它?
我认为出于安全原因,内联样式在默认情况下已被删除。但是,在过去的几年里,Drupal.org 上对这个问题有很多讨论。如果您正在寻找解决方法并接受风险,这里有两种我发现的方法:
- How to fix: CKEditor is removing style attributes. Drupal 8.
- Refactor Xss::attributes() to allow filtering of style attribute values
中肯警告:我没有亲自实施过其中任何一个。
默认情况下,基本 HTML 格式化程序会去除内联样式。除非您有不想打开 Limit allowed HTML tags
的具体原因,否则我强烈建议您这样做,因为它可以让您更好地控制您和其他人可以在所见即所得中使用的标签。此外,它允许您添加具有预配置样式的 "Styles" 按钮,因此您不必重复插入内联 CSS 代码。