我有一个像这样的 HTML Object 标签:
<object class="someclass" id="someid" type="image/svg+xml" data="/relative/path/to/svg/file.svg">Your browser does not support SVG files, and so your visualization cannot dislpay</object>
这很好地显示了我的 SVG 图像文件。但是,我想将 SVG 图像文件移到网站根目录之外,这样没有帐户的用户就看不到该文件。因此数据属性将成为指向中间页面的链接,该页面将构建 SVG 图像的路径并将其显示给浏览器。
现在我有:
<object class="someclass" id="someid" type="image/svg+xml" data="/some/intermediate/page?image=/parameter/file.svg">Your browser does not support SVG files, and so your visualization cannot dislpay</object>
但是,这不会显示图像。当我改为使用 Img 标签时,它会在我右键单击它并选择“查看图像”时显示。我尝试了诸如对 URL 的查询部分进行 urlencode、对整个字符串进行 urlencoding、替换 %3F 的问号、在 Object 和 Img 标签之间切换等操作,但它似乎不起作用。
感谢您的帮助!
最佳答案
问题最终出现在 HTTP header 信息上。 SVG 图像必须作为 header('Content-type: image/svg+xml')
提供,而不仅仅是作为 XML
关于HTML 对象 SVG 图像不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37896427/