3

我一直在尝试让一个 SVG 元素显示在我的测试网站上,该网站在 Plone CMS 之上运行。

正如有关该主题的其他帖子已经解释的那样,我确保在“HTML 过滤器设置”中,SVG 不包含在“讨厌”或“剥离”标签列表中,并将其添加到“自定义标签”中。

尽管如此,尝试从 W3Cschools 嵌入一个简单的 SVG 示例,如下所示,不会显示该元素。

<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <circle cx="100" cy="50" r="40" stroke="black"
  stroke-width="2" fill="red"/>
</svg>

嵌入带有“object”标签的 SVG 图像可以很好地显示 SVG 图像。

<object data="http://upload.wikimedia.org/wikipedia/en/c/ce/SVG-logo.svg"
type="image/svg+xml"></object> 

Plone 中是否有我忘记打开或关闭的设置?它不会是我的浏览器,因为 W3Cschools 示例在它自己的网站上显示得很好。

感谢您的任何指点!

4

2 回答 2

3

禁用portal_transforms->safe_html,重新启动服务器并在编辑项目时单击“不使用可视编辑器进行编辑”,将起作用。但是,这需要负责任的编辑(选择安全密码、注销等),因为没有过滤可能会发生脚本攻击。

编辑: 还有其他可能性,无需触及 html-filter-settings,这取决于您的要求。一些想法:

  • 在本地准备 svg 文件,将其作为图像上传,通过 TinyMCE 插入。
  • 将collective.portlet.tal 分配给项目,插入代码,使用Products.ContentWellPortlets 将其放置在您想要的位置。

第一个允许通过 TinyMCE 在内容类型的文本字段中插入 svg,第二个允许编辑 svg-element TTW。但是,不能两者兼得,还是?

于 2012-10-06T08:14:51.100 回答
0

您可能需要正确发送文档的内容类型(以表明它是 svg)。

于 2012-10-10T04:29:09.517 回答