Во-первых, если вы встраиваете SVG как <img>
, браузеры не будут открывать ссылки, а также не будут запускать скрипты внутри <img>
, потому что, в общем, вы встраиваете изображение, и очень вероятно, что ваше изображение может появиться внутри <a>
, и вы не можете помещать ссылки внутри ссылок.
А чтобы сделать ссылки открытыми на новых вкладках, вы можете использовать либо атрибут target
, как в HTML, либо атрибут xlink:show
, специфичный для xlink, со значением new
. Спецификация SVG говорит следующее:
Атрибут [xlink: show] предоставляется для обратной совместимости с SVG 1.1. Он предоставляет документацию для процессоров, поддерживающих XLink. В случае конфликта атрибут target имеет приоритет, поскольку он может выражать более широкий диапазон значений.
А значения атрибута target
могут быть:
- _replace
- _self
- _parent
- _top
- _blank
Таким образом, в вашем SVG вам нужно написать следующее:
<a xlink:href="http://example.com" target="_blank">[...]</a>
Но в настоящее время все браузеры, способные отображать SVG, поддерживают атрибуты xlink:show
и target
(хотя я не проверял в IE9).