SVG使用元素引用外部文件在Safari中不起作用

时间:2012-07-02 20:17:59

标签: html svg safari xlink

我有一个带有内联SVG的HTML文件,后者又引用带有库元素的外部SVG文件中的SVG元素。它使用带有<use>的{​​{1}}元素。它在Opera和Firefox中轻而易举,但在Safari中不起作用。我在这里做了一个简单的测试文件:

http://sasq.comyr.com/Stuff/SVG/test01.html

是一些浏览器错误还是我做错了什么? 我应该如何重写它以使其在Safari中运行?

2 个答案:

答案 0 :(得分:4)

有一个bug about this on Webkit,但版本已修复:420+但Fragment identifier的错误仍未解决。

有人使用XMLHttpRequest回答:Importing external SVG (with WebKit)。非常不幸,但与此同时,我想工作。

答案 1 :(得分:0)

我意识到这是一个老问题。但是,由于这种使用SVG的方法近来变得越来越流行,我编写了一个polyfill来使这种技术在默认情况下无法加载外部SVG的浏览器中运行。在撰写本文时,IE9 +不支持在使​​用元素中引用外部SVG。我写的polyfill非常简单轻巧;它检测SVG是否加载失败,如果是,则发送GET请求以获取它。然后它将它添加到正文中。

我希望你觉得它很有用。我将不胜感激任何反馈。