Verlinkung
Das target
-Attribut des SVG <a>
-Elements funktioniert nicht in Mozilla Firefox 1.5. Wenn SVG-Dokumente innerhalb eines übergeordneten HTML-Dokuments eingebettet werden, verwenden Sie den Tag:
page1.html:
<html lang="en">
<body>
<p>This is a SVG button:</p>
<object width="100" height="50" type="image/svg+xml" data="button.svg" />
</body>
</html>
button.svg:
<?xml version="1.1" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg">
<a href="page2.html" target="_top">
<g>
<!-- button graphical elements here -->
</g>
</a>
</svg>
Die Spezifikation besagt, dass der Browser zur HTML-Dokumentseite page2.html navigieren sollte, wenn auf die Schaltflächengrafik geklickt wird. Allerdings funktioniert target
nicht mit Mozillas Implementierung des SVG <a>
-Elements in Firefox 1.5. (Das Problem wird in Firefox 2.0 behoben.)
Das resultierende Verhalten in Moz SVG ist jedenfalls, dass page2.html in den Rahmen geladen wird, in dem die SVG-Schaltfläche sich befand (d.h. Sie hätten nun page2.html eingebettet in einen 100x50 Pixel großen Rahmen innerhalb von page1.html).
Um dies zu umgehen, bedarf es ein wenig unschönem JavaScript-Hack:
button.svg:
<?xml version="1.1" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg">
<g onclick="top.document.href='page2.html'" cursor="pointer">
<!-- button graphical elements here -->
</g>
</svg>
Beispiel
Ein Beispiel dafür, wie diese Lösung funktioniert, finden Sie unter www.codedread.com.