我正在 gwt 应用程序中以 longblob 格式读取存储在 mysql db 中的 svg 文件。我正在使用 HTTP 将字符串格式的文件从 servlet 转换为 json 到客户端。现在我想将它嵌入到 HTML 中以显示在面板中。
提供的 HTML 标签是如何在不创建临时文件的情况下嵌入它?
我不确定我是否解决了问题,但您可以将 SVG 简单地作为内联 SVG 嵌入到 HTML 中。样本:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SVG embedded inline in XHTML</title>
</head>
<body>
<h1>SVG embedded inline in XHTML</h1>
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="200">
<circle cx="150" cy="100" r="50" />
</svg>
</body>
</html>
(有关更多信息,请参见http://wiki.svg.org/Inline_SVG)
因此,您可以在将 HTML 发送到客户端之前嵌入 SVG 代码(或者如果您在客户端生成 HTML,则将其嵌入其中)。
这就是我将 SVG 嵌入 HTML 的方式。
<!--[if IE]>
<object id="svgImage" src="example.svg" classid="image/svg+xml">
<![endif]-->
<!--[if !IE]>-->
<object id="svgImage" data="example.svg" type="image/svg+xml">
<!--<![endif]-->
</object>
我还将SVGWeb合并到项目中,以便内容可以在 Internet Explorer 中运行。这确实有需要 Flash 的缺点,但这对大多数人来说不是问题,而且它仅适用于默认情况下不支持原生 SVG 的浏览器。