svg:打开(xlink:href)当前帧中的另一个svg图像 - 跨浏览器的噩梦?

时间:2011-09-13 18:18:32

标签: svg xlink

我一直在抨击这个问题一段时间了,我希望得到一些帮助/建议。

我有一个嵌入到iframe中的svg图形(icky我知道,但我们创建了自己的仪表板/窗口小部件应用程序,这是将现有svg框架移植到窗口小部件中的最简单方法)。我需要能够将这些svg图形链接到其他svg图形,并且我需要它们在同一个iframe中打开,这在目前让我发疯。

我发现这篇文章讨论了linking in svg的方法,然而,底部的比较似乎表明IE中至少有7个不可能有一个链接打开除“当前窗口”之外的任何东西。这似乎是我尝试过的所有事情的情况,但希望在互联网的某个地方,有人为此找到了解决方法。

以下是我尝试的内容:

1. <a xlink:href='<path to new embedded graphic>' target='<iframeName>' ... />

Chrome 13:效果很好,在正确的框架中打开!
Firefox 6.0.2:尝试在新标签页中打开
IE 9.0.8:尝试在新标签页中打开

2. <a xlink:href='<path to new embedded graphic>' xlink:show='replace' ... />

Chrome 13:用我想要的文件替换svg图形,但是,因为我要用包含嵌入式svg图形的ASP页面替换,我最终得到了一个'嵌套'效果页面。
Firefox 6.0.2:与Chrome类似 - 加载到位但发生嵌套,但在FF中图形甚至无法加载。
IE 9.0.8:与Chrome类似,加载到位但会发生嵌套。

似乎设置目标框架是我想要的方式,但是无论如何使它在FF和IE中工作?有没有人成功过这个?

我试图尝试的另一件事是在点击链接时在javascript中设置框架的window.document.location.href。尽管如此,它确实很棘手,而且我真的只是在Chrome中尝试过。在我浪费太多时间之前,我希望得到一些建议。

1 个答案:

答案 0 :(得分:1)

原来,以下在IE9,Chrome 13和FF 6中对我来说效果很好:

<a xlink:href='<path to new embedded graphic>' target='_parent' .../>

这会打开父窗口中的图形,这恰好是我的iFrame。