UIWebView 不显示 SVG 中的图像

发布于 2024-10-27 23:17:09 字数 679 浏览 1 评论 0原文

我有使用 UIWebView 显示的本地 HTML 文件。一切都显示正常,除了嵌入 svg 标签中的图像,如下所示:

<body>
    <div>
        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="100%" height="100%" viewBox="0 0 274 500" preserveAspectRatio="none">
            <image width="274" height="500" xlink:href="cover.jpeg"/>
        </svg>
    </div>
</body>

正常 标签工作正常,因此 baseURL 没有任何问题,并且图像位于同一文件夹中。 HTML 文件在 Mobile Safari 中加载良好。 我尝试使用 -loadRequest:、-loadString:baseURL: 和 -loadData:MIMEType:textEncodingName:baseURL 进行加载,但我总是只得到与图像的宽度和高度相对应的边框,而没有实际的图像。

可能出什么问题了?

I have local HTML files that I'm displaying with a UIWebView. Everything is displaying fine, except images embedded in a svg-tags, like such:

<body>
    <div>
        <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="100%" height="100%" viewBox="0 0 274 500" preserveAspectRatio="none">
            <image width="274" height="500" xlink:href="cover.jpeg"/>
        </svg>
    </div>
</body>

Normal <img> tags work fine, so there's nothing wrong with the baseURL, and the image is in the same folder. The HTML file loads fine in Mobile Safari.
I've tried loading with -loadRequest:, and -loadString:baseURL: and -loadData:MIMEType:textEncodingName:baseURL, but I always just get a border corresponding to the width and height of the image, without the actual image.

What could be wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

九局 2024-11-03 23:17:09

终于解决了问题。 DOCTYPE 设置为严格的 XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

但文件扩展名是 html。

将文件扩展名更改为 .xhtml 解决了问题。

Finally solved the issue. The DOCTYPE was set to strict XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">

but the file extension was html.

Changing the file extension to .xhtml solved the problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文