我有一个包含URL链接的SVG文件(由Graphviz生成).我希望这些链接可以点击.首先我试过了
<img src="path/to/my.svg"/>
Run Code Online (Sandbox Code Playgroud)
它显示图像正常,但链接不可点击.更改为对象:
<object data="/path/to/my.svg" type="image/svg+xml">
Run Code Online (Sandbox Code Playgroud)
使链接可单击,但当用户单击它们时,新页面将在对象内打开.有什么方法可以在主窗口中打开链接吗?
这是使用firefox 5.0,但如果有任何跨浏览器的差异你知道我会很感激警告!
Spa*_*hut 43
首先,如果你将SVG嵌入<img>,浏览器将不会打开链接,以及它们不会在里面运行脚本<img>,因为,你嵌入了一个图像,很可能你的图像可能出现在一个内部<a>,你不能放置链接内部链接.
要在新选项卡中打开链接,您可以使用target属性(如HTML)或xlink特定xlink:show属性(值)new.SVG规范说明如下:
提供[xlink:show]属性是为了向后兼容SVG 1.1.它为支持XLink的处理器提供文档.在发生冲突的情况下,目标属性具有优先级,因为它可以表达更宽范围的值.
并且target属性的值可以是:
因此,在您的SVG中,您需要编写如下:
<a xlink:href="http://example.com" target="_blank">[...]</a>
Run Code Online (Sandbox Code Playgroud)
但目前所有浏览器都能够显示SVG xlink:show和target属性(我还没有在IE9中测试过).