IE9 importing inline SVG elements broken

2019-05-14 02:49发布

I am using this method to import an SVG doc into a page, and it works pretty well, but in IE9, none of the <image> tags work after the import (they show up as broken images, even though their xlink:href attribute is correct). Why does this happen, and is there any way around it? Here's a simple test page. It works fine in Chrome, FF, etc, but not in IE9.

2条回答
Lonely孤独者°
2楼-- · 2019-05-14 03:31

The js implementation of importNode provided in this answer doesn't properly set namespaced attributes, it should use setAttributeNS to set xlink:href correctly. This other implementation of importNode seems to handle that, have you tried using that one instead?

查看更多
Juvenile、少年°
3楼-- · 2019-05-14 03:38

Apparently if I drop the xlink: and just use href, if fixes the problem in IE9, but breaks it in Chrome, etc. Weird! If anyone knows why, I'd be happy to accept your answer. See test 2.

Adding href, in addition to xlink:href fixes the issue everywhere.

查看更多
登录 后发表回答