3

我有一个带有内联 SVG 的 HTML 文件,该文件又引用了外部 SVG 文件中带有库元素的 SVG 元素。它使用<use>带有xlink:href="Library.svg#libraryShapeID". 它在 Opera 和 Firefox 中轻而易举,但在 Safari 中不起作用。我在这里做了一个简单的测试文件:

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

是浏览器错误还是我做错了什么?我应该如何重写它以使其也能在 Safari 中工作?

4

2 回答 2

4

There was a bug about this on Webkit but it has been fixed for the Version: 420+ BUT the bug for Fragment identifier is still not solved.

Someone gave an answer: Importing external SVG (with WebKit) using XMLHttpRequest. Quite unfortunate but in the meantime, I guess working.

于 2012-07-02T22:06:12.633 回答
1

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

希望对你有帮助。我将不胜感激任何反馈。

于 2015-11-16T23:19:35.597 回答