Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
964 views
in Technique[技术] by (71.8m points)

html - img Inside a foreignObject Inside an svg Inside an img

Here is my test case.

http://tobeythorn.com/isi/dummy2.svg

http://tobeythorn.com/isi/isitest.html

  • If I just open the svg by itself, the inner img is rendered fine.

  • But when I make this svg the src of an img, the inner img is not rendered. I receive no errors.

  • If I make the inner img a data-url, it gets rendered. If possible, I would like to avoid data-urls, as they complicate things, have size limitations, and cannot be cached.

  • The same thing happens in FF, Chrome, Opera, and Safari.

I can't find a solution, but possibly related: foreignObject inside second SVG element for Chrome

Cross-origin issue?

Limitation of the spec?

Browser bug?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

All SVGs used as images must be complete in a single file. Images cannot load external data.

So you need to base64 encode the image and embed it into the SVG as a data URL to get it to work.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...